市场上手机种类繁多,尺寸大小与分辨率也不尽相同,因此对于android软件开发人员来说,屏幕的适应能力成了所要解决的问题。
首先要使设计的界面适应屏幕,可多用LinearLayout和RelativeLayout,尽量不要使用绝对布局;控件的长、宽值多使用match_parent或者wrap_content,或者在布局中可多使用layout_weight属性;如需要固定的长度,采用单位为设备独立像素(dp/dip/sp),并且将其定义在dimens资源文件中再引用,而非直接写在layout中。
一、layout_weight属性的使用
LinearLayout或其子类具有layout_weight属性,使用layout_weight属性,可以使屏幕自适应能力更强,但在使用时有些需要注意的地方,下面以LinearLayout为例展开说明。
当LinearLayout的orientation属性值为horizontal时(子视图以横向排列),那么使用layout_weight时应将子视图的layout_width属性设置为0dp,否则layout_weight属性不起作用;此时layout_weight表示横向比重。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent