android 多屏幕支持

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官方文档 ,更详细的可以查看最佳实践

android 多屏幕支持,布布扣,bubuko.com

android 多屏幕支持

上一篇:Android 4.4 meminfo 实现分析


下一篇:android文件管理器需求分析之一