1.使用 "wrap_content" 和 "match_parent"
使用 "wrap_content"視圖的高度和寬度會被設定成與內容搭配的最小值,而"match_parent" (與api8之前的"fill_parent"相同)使組件填充父布局。使用 "wrap_content"和 "match_parent"代替寫死的值,你的視圖可以靈活調節,既可以根據的需要的大小調整,也可以填充可用的空間。
2.使用RelativeLayout你可以使用嵌套LinearLayout與
"wrap_content"、
"match_parent"去構建複雜的布局。但是LinearLayout中的視圖是簡單的順序排列的,不支援你在空間上的控制子視圖的關係。如果你希望子圖不只是在簡單線性布局,一個好的解決方案是使用,它可以讓你根據組件間的 空間關係設定布局。3.使用大小限定 上面的方案有時並不能在每一個螢幕上提供最好的使用者的體驗,你可以通過給目標螢幕提供不同的布局來這解決這問題。使用 configuration qualifiers可以讓當前裝置根據尺寸,選擇相應的資源。4.使用最小寬度限定許多應用想要在比較大的螢幕上尺寸與其他尺寸的有所區別,可以是用"Smallest-width" (Android 3.2+)5.使用備選布局
因為最小尺寸限定在android3.2才適用,因此還是要用到抽象的尺寸檔案夾 (small, normal, large and xlarge) 來適配之前的版本。
res/layout/main.xml: single-pane layout
res/layout-large: multi-pane layout
6.使用方向限定
有些布局可以很好的在橫屏和豎屏展示,但是大多數的都需要對於橫豎屏進行適配。
res/values-sw600dp-land/layouts.xml:
res/values-sw600dp-port/layouts.xml:
7.使用Nine-patch的圖片
在使用圖片時會出現壓縮或者展開的效果,可以通過nine-patch圖片解決,它是通過格式化的png圖片標識那一部分可以或不可展開實現適配。詳見(http://blog.csdn.net/actsai/article/details/16947953)
只是做大概翻譯,詳細請android官方文檔 ,更詳細的可以查看最佳實務