麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

xml解析成view對象需要注意的事

2019-11-09 13:59:40
字體:
來源:轉載
供稿:網(wǎng)友

        很多時候我們需要把一個xml布局文件轉成view對象,通過以下代碼實現(xiàn):

    inflater.inflate(int resource, ViewGroup root, boolean attachToRoot);

其中inflater對象可以通過以下幾種方式獲取:

LayoutInflater inflater=LayoutInflater.from(Context context);LayoutInflater inflater=getLayoutInflater();LayoutInflater inflater=(LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);

inflate方法有幾個重載 比如我們可以寫成 inflater.inflate(int resource, null);當我們傳入null時,跟布局layout_xxx屬性無效,比如我要實現(xiàn)圖下這種效果,通過添加item間的分隔來測試

                                       

  我們在item的xml中代碼為

                      

看跟布局FramLayout中的 layout_margin="5dp" ,item間的分隔符是通過這個實現(xiàn)的,但是當我們解析xml文件的代碼寫成inflater.inflate(int resource, null);發(fā)現(xiàn)沒有分隔效果,如下圖

                                       

但是把layout_margin="5dp" 屬性寫在TextView中就有效果了,

通過查閱源碼發(fā)現(xiàn),當root也就是ViewGroup parent 這個參數(shù)不為空并且attachToRoot為false時 跟布局屬性才被設置進去,

當然你可以選擇把layout相關屬性寫在對應的子view中,但是如果子view太多就不便于代碼的書寫,這時候在跟布局中就比較好控制,

其實還有一種加載xml為view對象的寫法 View.inflate(Context context,int resource, ViewGroup root),原理都是一樣的,這種我們第三個參數(shù)一般為null,否則會報一個異常,這種跟上面差不多,當ViewGroup為null時,resource中的跟布局layout屬性就無效了,所以還是推薦上面的加載xml布局的寫法


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 护士hd欧美free性xxxx | 午夜天堂在线视频 | 黄色羞羞| 亚洲成人黄色片 | 亚洲精品a在线观看 | 国产91九色在线播放 | 最新精品在线 | 91精品国产九九九久久久亚洲 | 成人黄色小视频在线观看 | 一区二区三区四区高清视频 | 精品一区二区三区在线观看视频 | 午夜精品福利影院 | 久久精品国产精品亚洲 | h视频免费在线观看 | 美女色影院 | av在线观 | 麻豆911| 久久成人黄色 | 亚洲日本韩国精品 | 九九精品免费 | 97超级碰碰人国产在线观看 | 国产午夜免费视频 | 久久免费激情视频 | 毛片一区二区三区四区 | 爽毛片 | 在线天堂中文字幕 | 亚洲骚图| 欧美 国产 亚洲 卡通 综合 | 777sesese| 久久久久久久91 | 久久久精品网 | 亚洲精品在线观看免费 | 久久精品免费网站 | 亚洲午夜电影 | 国产正在播放 | 成人国产高清 | 久久国产精品区 | 国产午夜免费不卡精品理论片 | 狠狠干视频网站 | av国产免费 | 91一区二区在线观看 |