学习android操作系统,学习Android手机操作系统笔记总结
比如,一張你要發(fā)布的圖片。所有的子元素將會(huì)固定在屏幕的左上角;你不能為FrameLayout中的一個(gè)子元素指定一個(gè)位置。后一個(gè)子元素將會(huì)直接在前一個(gè)子元素之上進(jìn)行覆蓋填充。
把它們部份或全部擋住(除非后一個(gè)子元素是透明的)。有點(diǎn)繞口而且難理解,下面還是通過一個(gè)實(shí)例來理解吧。我們仿照Snake項(xiàng)目中使用的界面一樣,建立一個(gè)簡單的FrameLayout。
其中包含兩個(gè)Views元素:ImageView和TextView,而后面的TextView還包含在一個(gè)RelativeLayout中。Android的tools目錄下提供了許多實(shí)用工具,這里介紹其中一個(gè)用于查看當(dāng)前UI結(jié)構(gòu)視圖的工具h(yuǎn)ierarchyviewer。
打開tools/hierarchyviewer.bat后,查看上面這個(gè)示例的UI結(jié)構(gòu)圖可得:
我們可以很明顯的看到由紅色線框所包含的結(jié)構(gòu)出現(xiàn)了兩個(gè)framelayout節(jié)點(diǎn),很明顯這兩個(gè)完全意義相同的節(jié)點(diǎn)造成了資源浪費(fèi)。(這里可以提醒大家在開發(fā)工程中可以習(xí)慣性的通過Android手機(jī)操作系統(tǒng)查看當(dāng)前UI資源的分配情況),那么如何才能解決這種問題呢(就當(dāng)前例子是如何去掉多余的frameLayout節(jié)點(diǎn))?這時(shí)候就要用到標(biāo)簽來處理類似的問題了。我們將上邊xml代碼中的framLayout替換成merge:
運(yùn)行程序后在Android手機(jī)操作系統(tǒng)中顯示的效果是一樣的,可是通過hierarchyviewer查看的UI結(jié)構(gòu)是有變化的,當(dāng)初多余的FrameLayout節(jié)點(diǎn)被合并在一起了。或者可以理解為將merge標(biāo)簽中的子集直接加到Activity的FrameLayout跟節(jié)點(diǎn)下。
(這里需要提醒大家注意:所有的Activity視圖的根節(jié)點(diǎn)都是frameLayout)。如果你所創(chuàng)建的Layout并不是用framLayout作為根節(jié)點(diǎn)(而是應(yīng)用LinerLayout等定義root標(biāo)簽),就不能應(yīng)用上邊的例子通過merge來優(yōu)化UI結(jié)構(gòu)。
【編輯推薦】
【責(zé)任編輯:蘇越?TEL:(010)68476606】
點(diǎn)贊 0
總結(jié)
以上是生活随笔為你收集整理的学习android操作系统,学习Android手机操作系统笔记总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android倒角按钮,Android实
- 下一篇: android 定制ui,Android