android屏幕适配

使用wrap_content和match_parent

应该在布局中使用wrap_content和match_content来确定它的宽与高。
如果使用了wrap_content,相应视图的宽和高就会被设定成刚好能够包含视图中的内容的最小值。如果使用了match_content则会充满整个布局

使用RelativeLayout

通过多层嵌套Linearlayout和组合使用wrap_content和match_parent已经能构建复杂布局,但是Linealayout中的子视图只能简单的一个挨一个排列。使用Relativelayout允许布局的子控件之间使用相对定位的方式控制控件的位置,比如让一个子控件居屏幕右侧等。

使用Size限定符

通过配置限定符来实现。配置限定符允许程序运行时根据当前设配的配置自动加载合适的资源。(比如为不同尺寸屏幕设计不同的布局)。
例:res/layout/main.xml,single-pane(默认)布局
res/layout-large/main.xml,第二套布局

使用Smallest-width限定符

使用Size限定符large到底多大说不清楚,
所以Smallest-width限定符允许设定一个具体的最小值(以dp为单位)来指定屏幕。
例:res/layout/main.xml,single-pane(默认)布局
res/layout-sw600dp/main.xml,two-pane布局:
在600dp以下的用第一套,以上用第二套

使用布局别名

Smallest-width限定符仅在Android 3.2及之后的系统中有效。因而,你也需要同时使用Size限定符(small, normal, large和xlarge)来兼容更早的系统。例如,你想手机上显示single-pane界面,而在7寸平板和更大屏的设备上显示multi-pane界面,你需要提供以下文件:
res/layout/main.xml: single-pane布局
res/layout-large: multi-pane布局
res/layout-sw600dp: multi-pane布局

最后的两个文件是完全相同的,为了要解决这种重复,你需要使用别名技巧。例如,你可以定义以下布局:
res/layout/main.xml, single-pane布局
res/layout/main_twopanes.xml, two-pane布局

加入以下两个文件:
res/values-large/layout.xml:
[html] view plain copy

@layout/main_twopanes

res/values-sw600dp/layout.xml:
[html] view plain copy

@layout/main_twopanes

最后两个文件有着相同的内容,但是它们并没有真正去定义布局,它们仅仅只是给main定义了一个别名main_twopanes。这样两个layout.xml都只是引用了@layout/main_twopanes,就避免了重复定义布局文件的情况。

使用Orientation限定符

使用Nine-Patch图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值