1.按比例布局layout_weight和weightSum
来源:互联网 发布:淘宝华佗大药房卖假药 编辑:程序博客网 时间:2024/04/28 07:09
转载的地址:http://blog.csdn.net/manoel/article/details/38968577
本文翻译自《50 android hacks》
先看一个效果,一个Button占据整个屏幕的一半宽度。
再看开发文档中对layout_weight属性的描述:
“定义weight总和的最大值。如果未指定该值,以所有子视图的layout_weight属性的累加值作为总和的最大值。一个典型的案例是:通过指定子视图的layout_weight属性为0.5,并设置LinearLayout的weightSum属性为1.0,实现子视图占据可用宽度的50。”
XML文件仅仅包含一个Button,它的宽度占据整个屏幕的一半,代码如下:
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="#ffffff"
- android:gravity="center"
- android:orientation="horizontal"
- android:weightSum="1" >
- <Button
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="0.5"
- android:text="@string/activity_main_click_me" />
- </LinearLayout>
假设有一个宽度是200dp,android:weightSum属性是1.0的LinearLayout。
在这个LinearLayout中的Button宽度的计算公式如下:
- Button's width + Button's weight * 200 / sum(weight)
0 + 0.5 * 200 / 1 = 100
当需要根据比例分配布局可用空间的时候,使用LinearLayout的weight属性是很有必要的,这避免了使用硬编码的方式带来的副作用。
如果目标平台是Honeycomb并且使用Fragment,那么大多数案例中都是使用weight在布局文件中为Fragment分配空间。
深入理解如何使用weight会为开发者增添一项重要技能。
参考资料
http://developer.android.com/reference/android/widget/LinearLayout.html
http://mobile.51cto.com/abased-375428.htm
- 1.按比例布局layout_weight和weightSum
- 【移动开发】按比例布局layout_weight和weightSum
- Android_按比例布局layout_weight和weightSum
- 安卓基础之按比例布局layout_weight和weightSum
- Android按比例布局之layout_weight和weightSum的使用
- 安卓按比例布局,layout_weight用法、合用weightSum属性和layout_weight属性
- LinearLayout中借助:weightSum和layout_weight布局
- LinearLayout使用weightSum按比例布局
- LinearLayout使用weightSum按比例布局
- layout_weight和weightSum
- Android layout_weight 和 weightSum
- layout_weight 和 weightSum
- Android中layout_weight和weightSum
- Android布局中的layout_weight和weightSum属性的详解及使用
- layout_gravity和gravity weightSum和layout_weight 区别
- 日积月累:weightSum和layout_weight属性合用
- Layout中weightSum和layout_weight的详解
- 安卓按比例布局,layout_weight用法
- Pro Android学习笔记(一四五):触摸屏(4):手势
- php---语法基础
- 获取xml配置文件中参数demo
- 文通快票通 M1800
- ADB 源码分析
- 1.按比例布局layout_weight和weightSum
- java正则表达式判断分隔电话号码
- 红色水果都是什么
- Android软件开发之PreferenceActivity中的组件
- 【Git学习笔记】强行删除还没有merge的分支
- centos7.0的几个新特性
- HDOJ 5071: Chat
- QPinchGesture QGesture 使用方法
- app-framework学习--修改list后面小箭头