最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

自定義ViewGroup問題解決

2023-06-21 17:36 作者:便宜酒  | 我要投稿

·為什么測量父要先測量子?

父需要確定給不給得起。


·為什么測量子需要父的測量規(guī)格?measureChild(child, widthMeasureSpec, heightMeasureSpec);

父布局分三種:知道多大,很大但不知道多大,還沒分配。相應(yīng)的子控件也分三種:知道要多少(子控件一樣大),有多少全給,控件多大就要多少(子控件不一樣大)。


·layoutParams是什么?

layoutParams代表xml里設(shè)置的寬高,但它不是int,API里有相應(yīng)方法轉(zhuǎn)化為int。

?

·getMeasuredWidth和getWidth的區(qū)別?

前者在measure()結(jié)束后就有,后者是布局結(jié)束后才有


·寬和高的測量模式和wrap、match、具體值是什么關(guān)系?

width:

Match-exactly-1080

Wrap-at_most-1080

100dp-exactly-300px

height:

Match-unspecified-0

Wrap-unspecified-0

100dp-exactly-300px


·對子控件設(shè)置ViewGroup.MarginLayoutParams layoutParams = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

和xml里對子控件的設(shè)置的是什么關(guān)系?認(rèn)哪個?

認(rèn)java代碼。條目樣式xml里的最外層設(shè)置的大小和間距是沒用的,它相當(dāng)于畫布,條目真正的大小、背景最好從第二層開始,大小會被java覆蓋,但是間距是直接不認(rèn),java不設(shè)置那就會默認(rèn)0?

·總結(jié):大小和間距都只認(rèn)優(yōu)先java設(shè)的,寫java的時候可以照著xml寫

·上面可以看到自定義view繼承的是ViewGroup,必須至少雙參構(gòu)造,即必須用代碼設(shè)置并傳入子控件的layoutParam。繼承LinearLayout可以單參構(gòu)造,認(rèn)xml設(shè)置的子控件大小,但是不認(rèn)xml里的間距,所以意義不大。


·注意事項:在自定義布局的代碼中,getLayoutParamchild.getLayoutParam分別獲取的是父與子的布局參數(shù)。





自定義ViewGroup問題解決的評論 (共 條)

分享到微博請遵守國家法律
南部县| 扎赉特旗| 新疆| 合川市| 大丰市| 亚东县| 仪陇县| 马尔康县| 南宫市| 平顶山市| 临西县| 延寿县| 宜昌市| 新兴县| 海盐县| 岗巴县| 津南区| 南川市| 溧水县| 六枝特区| 桐城市| 宕昌县| 寻乌县| 子洲县| 金门县| 日喀则市| 延安市| 大洼县| 渝北区| 垫江县| 泗阳县| 阜康市| 新源县| 安龙县| 东明县| 柘城县| 兴文县| 轮台县| 罗田县| 文登市| 镇安县|