国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

分享到微博請遵守國家法律
西乌| 新乡县| 思茅市| 奉节县| 和政县| 开封县| 行唐县| 肥西县| 玉山县| 南汇区| 汽车| 化州市| 固原市| 通山县| 武平县| 噶尔县| 西藏| 缙云县| 图木舒克市| 汶上县| 温宿县| 容城县| 台山市| 阿瓦提县| 日土县| 洛宁县| 涟水县| 宜良县| 临沂市| 台南市| 博白县| 桓台县| 鞍山市| 千阳县| 舞钢市| 武清区| 兴宁市| 石泉县| 海晏县| 白沙| 长治市|