都知道weight是权重的意思. 在布局中起到非常重要的作用. 但是这玩意不能嵌套使用, 而且只能使用在LinearLayout中.

  下面说说它的几种用法(以下例子全为横排 注意android:layout_width值和android:layout_weight值的变化)  

  第一种, 最普遍的-----均分, weight的值越大, 占的空间越大.注意android:layout_width的值都为0dp

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:orientation="horizontal">    <FrameLayout        android:layout_width="0dp"        android:layout_height="match_parent"        android:layout_weight="1"        android:background="#000" />    <Button        android:layout_width="0dp"        android:layout_height="match_parent"        android:layout_weight="1"/>    <FrameLayout        android:layout_width="0dp"        android:layout_height="match_parent"        android:layout_weight="1"        android:background="#888" /></LinearLayout>

  第二种, 占满剩余空间, 不管是否处在最后一个

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:orientation="horizontal">    <FrameLayout        android:layout_width="40dp"        android:layout_height="match_parent"        android:background="#000" />    <Button        android:layout_width="0dp"        android:layout_height="match_parent"        android:layout_weight="1"/>    <FrameLayout        android:layout_width="40dp"        android:layout_height="match_parent"        android:background="#888" /></LinearLayout>

  第三种, 值越大占的空间越小, 值为同布局下其它控件的weight之和时,即消失.注意android:layout_width的值都为match_parent为0时占满. 有什么用途? 呵呵, 存在即是合理的.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content">    <FrameLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_weight="1"        android:background="#000" />    <Button        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_weight="1.5"/>    <FrameLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_weight="1"        android:background="#000" /></LinearLayout>

  最后一种(我会用的), 结合android:weightSum使用, 那这儿就用一个问题引入, 如何将控件放在屏幕的中央, 宽度为屏幕的一半? 嗯.....想啊.....想啊...RelativeLayout? 哦, 没法控制? 哦,只能代码了... 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center"    android:weightSum="2">    <Button        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"/></LinearLayout>

ok, so easy!

更多相关文章

  1. Android布局文件属性笔记
  2. 自定义实现圆形播放进度条(android,飞一般的感觉)
  3. 快速进入Android世界
  4. Android之四大布局
  5. Android控件编辑时键盘弹起与关闭处理
  6. Android屏幕密度(Density)和分辨率的关系
  7. Android屏幕适配攻略
  8. 布局中文件中【控件间距参数详解以及单位选择】
  9. android launcher 分析

随机推荐

  1. Android(安卓)Studio安装使用图文教程
  2. Android(安卓)studio使用lambda表达式
  3. Android(安卓)读取doc文件
  4. android服务器问题
  5. Android:TextSwitcher、imageSwitcher
  6. 【Arcgis android】 离线编辑实现及一些
  7. Android(安卓)App 防止 后台服务 被杀掉
  8. Android中,把XML文件转换成Object对象的方
  9. android ndk编译getevent
  10. Android(安卓)模糊搜索rawquery bind or