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

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

DEVLOG 9.10(二) 關(guān)于自定義View的一些問題總結(jié):

2021-09-10 20:08 作者:房頂上的鋁皮水塔  | 我要投稿

問題記錄:

  1. View支持wrap_content:?

    自定義View如果繼承View時,如果不去實現(xiàn)onMeasure處理wrap_content,則當(dāng)這個View設(shè)置了wrap_content時,View的長度和父容器中可用長度相同,而且測量模式為AT_MOST。推導(dǎo)

    1. View#onMeasure會調(diào)用View#getDefaultSize,里面會指定View的specSize 為傳過來的MeasureSpec。

    2. 這個MeasureSpec由ViewGroup決定。通過ViewGroup#getChildMeasureSpec可以推導(dǎo)出一張表,可以得出結(jié)論。


1.1 . 怎么處理?

思路:在onMeasure中獲取Image(假設(shè)想wrap_content bitmap)的寬高,然后檢查width和height的LayoutParams屬性,如果是wrap_content,設(shè)置為從bitmap中拿到的大?。环駝t設(shè)置為傳入的測量的大小。


可以參考Android開發(fā)藝術(shù)探索+這篇博客

https://blog.csdn.net/carson_ho/article/details/62037760


2. 完成你的View的時候?qū)崿F(xiàn)padding

padding表示【填料】和margin不同,通俗的理解上margin是外邊距,padding是內(nèi)邊距。繼承自View和ViewGroup的自定義空間肯定沒有實現(xiàn)padding的處理。畢竟實現(xiàn)MeasureSpec的時候計算了LayoutParams,里面就有Margin計算。這個實現(xiàn)也不難,View#getPaddingxxxx獲取padding,減小width和height就行【因為內(nèi)部被填充了,大小減小了】。


今天就這樣~


DEVLOG 9.10(二) 關(guān)于自定義View的一些問題總結(jié):的評論 (共 條)

分享到微博請遵守國家法律
临桂县| 磐石市| 晋城| 石首市| 永靖县| 南投县| 安庆市| 连州市| 泸水县| 马龙县| 昭平县| 盘山县| 巫溪县| 大宁县| 宁津县| 甘肃省| 宁化县| 德惠市| 吴桥县| 阜新市| 高唐县| 金川县| 木里| 常熟市| 青河县| 伊春市| 都兰县| 太谷县| 翁牛特旗| 扎兰屯市| 工布江达县| 历史| 景洪市| 永仁县| 修文县| 呼伦贝尔市| 永顺县| 行唐县| 焦作市| 崇信县| 克什克腾旗|