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

歡迎光臨散文網(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問題解決的評論 (共 條)

分享到微博請遵守國家法律
正宁县| 元谋县| 乌拉特后旗| 民权县| 岚皋县| 扶余县| 洛宁县| 全州县| 太仆寺旗| 通化市| 潍坊市| 西丰县| 延长县| 南汇区| 庄河市| 迁安市| 彝良县| 贺州市| 绥宁县| 石屏县| 杭锦旗| 睢宁县| 新余市| 宜黄县| 治县。| 中阳县| 增城市| 讷河市| 特克斯县| 鹤峰县| 宁远县| 内黄县| 大宁县| 贵阳市| 冀州市| 江永县| 东安县| 大洼县| 柳林县| 博客| 秭归县|