Android布局中权重设置问题
2015-10-15 10:17
411 查看
现在Android中最为推荐的屏幕适应方案即为设置控件的权重weight,一般用于线性布局中。传统的 layout_weight 使用方法是将当前控件的 layout_width 和 layout_height都设置成 fill_parent, 这样就可以把控件的显示比例完全交给 layout_weight ;这样使用的话,就出现了 layout_weight 越小,显示比例越大的情况。不过对于 2 个控件还好,如果控件过多,且显示比例也不相同的时候,控制起来就比较麻烦了,毕竟反比不是那么好确定的。 于是就有了现在最为流行的 0px 设值法。看似让人难以理解的layout_height=0px 的写法,结合 layout_weight ,却可以使控件成正比例显示。如下例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="horizontal" android:weightSum="3" android:paddingLeft="0dp" android:paddingRight="0dp" android:showDividers="middle"> <fragment android:layout_width="0px" android:layout_height="match_parent" android:name="com.ztsoft.wzy.fragmentstest.BooklistFragment" android:id="@+id/fragment" android:layout_weight="1" /> <fragment android:layout_width="0px" android:layout_height="match_parent" android:name="com.ztsoft.wzy.fragmentstest.BookFragment" android:id="@+id/fragment2" android:layout_weight="2" /> </LinearLayout>两个控件会显示为1:2的大小,但是此处有一点需指出,这个权重受所在布局的控制,LinearLayout属性中的weightsum控制其所属控件的weight的值的和的最大取值。如:weight取值3,两个控件分别取值1和2,若取值2和2,则控件就会超出屏幕的大小,出现异常。
相关文章推荐
- Android各种访问权限Permission详解
- android listview中item通过viewpager实现《IT蓝豹》
- android listview中item通过viewpager实现
- Android数据持久化存储-Files对象
- CircularCounter 双层原形进度条效果《IT蓝豹》
- android错误:Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
- Android 创建文件夹,文件的一些注意细节
- 安卓两个活动间传递数据
- 极光推送---JPush---服务器端和android端怎么做
- 可升级Android 6.0机型一览 小米手机亮了
- Android Studio快捷键提高工作效率的奇技
- HTML开发android应用之软件的安装
- 解决Android Button 字母自动全部大写的问题
- android获取通讯录信息
- Android之NDK开发
- 调用android平台功能-拨号,地图,网页,短信,Email,播放多媒体
- 对 Android 开发者有益的 40 条优化建
- Android中的第一个NDK的例子
- android自定义编辑框
- android自定义编辑框