突然想到了一個(gè)更容易的實(shí)現(xiàn)方法,就是繼承RelativeLayout,記錄每一個(gè)child的w(h不考慮),之后就是判斷換行,如果換行,那么設(shè)置
換行的view是上一行第一個(gè)的下面……
換行的view是上一行第一個(gè)的下面……
2015-01-08
1、流式布局特點(diǎn)、應(yīng)用場(chǎng)景
2、自定義ViewGroup,重點(diǎn)重寫下面兩個(gè)方法
1、onMeasure:測(cè)量子view的寬高,設(shè)置自己的寬和高
2、onLayout:設(shè)置子view的位置
onMeasure:根據(jù)子view的布局文件,為子view設(shè)置測(cè)量模式
測(cè)量=測(cè)量模式+測(cè)量值;
測(cè)量模式有3種:1、exactly:100dp,match_parent;2、at_most:wrap_content;3、unspecified:子控件,想要多大就多大,很少見
ViewGroup - LayoutParams
2、自定義ViewGroup,重點(diǎn)重寫下面兩個(gè)方法
1、onMeasure:測(cè)量子view的寬高,設(shè)置自己的寬和高
2、onLayout:設(shè)置子view的位置
onMeasure:根據(jù)子view的布局文件,為子view設(shè)置測(cè)量模式
測(cè)量=測(cè)量模式+測(cè)量值;
測(cè)量模式有3種:1、exactly:100dp,match_parent;2、at_most:wrap_content;3、unspecified:子控件,想要多大就多大,很少見
ViewGroup - LayoutParams
2015-01-08
講師回答 / hyman
你好,那個(gè)是Linearlayout.LayoutParams特有的,具體沒有查看源碼,應(yīng)該屬于EXACTLY,因?yàn)橹涤筛缚丶?jì)算確定 。?
2015-01-06
已采納回答 / hyman
你好,你說的是Button吧,你弄個(gè)LinearLayout,方向水平,放置兩個(gè)Button,你在xml可視化視圖里面看看Button的范圍,或者直接運(yùn)行看寫效果,你就明白了。
2014-12-28
在onLayout中沒有用到那四個(gè)參數(shù) l r t b 會(huì)導(dǎo)致什么問題么?
2014-12-27
很入門和清楚的講解, 沒有講太多關(guān)于View和ViewGroup的東西, 而是講了夠用的內(nèi)容, 并通過清晰簡(jiǎn)單而又實(shí)用的簡(jiǎn)單例子帶入門, 支持
2014-12-27
講師回答 / hyman
你好,本質(zhì)上和你向Linearlayout這類ViewGroup中添加控件一致呀,你在添加前,如果你是TextView,直接setOnClickListener就可以了。關(guān)于區(qū)分,你可以根據(jù)呈現(xiàn)的text,或者setTag都可以。?
2014-12-24
樓下筆誤了,應(yīng)該是
(如:this(context, attrs, R.attr.flowLayoutStyle);)
(如:this(context, attrs, R.attr.flowLayoutStyle);)
2014-12-21
視頻講得挺好的,可以學(xué)習(xí)到很好的想法。
關(guān)于View的3個(gè)構(gòu)造方法,我的理解:
從xml布局文件中實(shí)例化的view,調(diào)用的是2個(gè)參數(shù)的構(gòu)造方法,3個(gè)參數(shù)的構(gòu)造方法通常是在2個(gè)參數(shù)的構(gòu)造方法中手動(dòng)調(diào)用的
(如:this.FlowLayout(context, attrs, R.attr.flowLayoutStyle)),第三個(gè)參數(shù)表示的是該自定義view的默認(rèn)樣式(default style),通常在自定義的themes中指定。
以上有不正確的地方,請(qǐng)指正。
關(guān)于View的3個(gè)構(gòu)造方法,我的理解:
從xml布局文件中實(shí)例化的view,調(diào)用的是2個(gè)參數(shù)的構(gòu)造方法,3個(gè)參數(shù)的構(gòu)造方法通常是在2個(gè)參數(shù)的構(gòu)造方法中手動(dòng)調(diào)用的
(如:this.FlowLayout(context, attrs, R.attr.flowLayoutStyle)),第三個(gè)參數(shù)表示的是該自定義view的默認(rèn)樣式(default style),通常在自定義的themes中指定。
以上有不正確的地方,請(qǐng)指正。
2014-12-21