Android 高效佈局的幾點建議

圖片描述

在Android應用開發過程當中,佈局是一項最基礎的工做。android

如何進行高效佈局,提升開發效率呢? 我通過長期實踐,總結了如下幾條建議:後端

1、 靜態佈局爲主,動態佈局爲輔

1. 靜態佈局

就是咱們最經常使用的,經過xml來進行佈局。工具

優勢:所見即所得。佈局建立,修改,預覽都很是的方便。佈局

缺點:靈活性稍差。大數據

2. 動態佈局

經過Java代碼來實現佈局。 spa

優勢:靈活性好。在應用運行過程當中,能夠隨時去調整佈局,例如:增長未加載的新控件,調整控件的位置等。xml

缺點:可見性差,維護很是的繁瑣。blog

你們都知道,一個項目,一個功能,不可能自始至終都是同一我的進行維護的。人員流動,工做調整,這些均可能形成如下結果:你去接手別人維護的功能/模塊,別人接手你維護的功能/模塊。基於這種現狀,在Android應用佈局方面,可見性,可維護性顯得尤其重要。 所以,我推薦的佈局原則是:「靜態佈局爲主,動態佈局爲輔。」圖片

推薦的理由有兩點:ip

  1. 佈局是一個相對持續的過程。可能UI/UE會隨時讓你調整下控件之間的間距,位置等。動態佈局,須要每次修改後,編譯運行在手機上才能看到實際的效果。而靜態佈局,能夠隨時修改,隨時預覽效果。

  2. 靜態佈局,你能夠經過閱讀xml,預覽效果,對於整個界面,能夠快速的熟悉和掌握。而對於動態佈局,你必須確認你對全部有關的代碼熟悉後,靜態佈局和動態佈局相結合,在腦海中對整個界面進行拼接,纔能有一個總體把握。而隨着佈局變得複雜,這將變得愈來愈難。

2、 善用tools工具

有些佈局,預覽效果很是差。咋一看上去,一片空白。這樣其實喪失了靜態佈局的一大優勢「所見即所得。」整個佈局以後,你編譯運行到手機上,才能看到你設置的屬性,間距等是否正常生效了。

這裏,我推薦一個原則:「儘可能在佈局中展現你要的效果。」

怎麼實現呢?這裏須要用到一個工具,tools。

Tools 簡介和用法

Tools工具的使用僅僅針對IDE有效,並不會被打包進應用。

具體步驟以下:

在佈局最外層,加上下面這句話,聲明一下。

圖片描述

  1. 通常的控件屬性以「android:」開頭。新增一個一樣的屬性,改成以「tools:」開頭。

例如:一個TextView控件,須要設置默認狀態爲不可見。

圖片描述

可是你想預覽它,又擔憂改成android:visiblity="visible"以後忘了改回來,直接提交了。如今你沒必要擔憂,新增一個一樣名稱的屬性,以「tools:」
開頭,就能夠了。

圖片描述

3、 時刻謹記UI適配

因爲Android開源的特性,形成Android手機種類繁多。這些手機擁有不一樣版本的系統,不一樣的屏幕分辯率,不一樣的配置等。

咱們在進行佈局的時候,要時刻謹記UI適配,盡最大限度去適配不一樣的分辨率。

這裏,我總結幾點經驗:

  1. Android控件,默認會帶有一點padding。 有些背景切圖,可能會留有較大的餘白。而UI/UE的標註圖可能並無考慮這些因素,所以,UI/UE的標註圖僅供參考。實際佈局過程當中,可能須要稍微調整。

  2. 保留重要標註尺寸,忽略次要標註尺寸。舉個簡單的例子。假設一個頂部區域,固定高度。須要放置主標題,副標題兩個文本控件。 建議這麼佈局,主標題和副標題使用一個豎直的LinearLayout進行包裹。主標題和副標題控件之間按照標註圖設置精準的間距。以後,把整個LinearLayout豎直居中在頂部區域。

  3. 設置android:weight,來進行按照比例佈局。

  4. 文本控件,須要考慮,文本過長時的省略策略。

  5. 防止控件相互壓蓋

  6. 切圖至少提供兩套,hdpi和xhdpi

參考

Designtime Layout Attributes(http://tools.android.com/tips/layout-designtime-attributes?spm=5176.blog8192.yqblogcon1.7.wIjHWO
Tools Attributes(http://tools.android.com/tech-docs/tools-attributes?spm=5176.blog8192.yqblogcon1.8.nN5eox

關於阿里百川

阿里百川(baichuan.taobao.com)是阿里巴巴集團「雲」+「端」的核心戰略是阿里巴巴集團無線開放平臺,基於世界級的後端服務和成熟的商業組件,經過「技術、商業及大數據」的開放,爲移動創業者提供可快速搭建App、商業化APP並提高用戶體驗的解決方案;同時提供多元化的創業服務-物理空間、孵化運營、創業投資等,爲移動創業者提供全面保障。

相關文章
相關標籤/搜索