Android布局学习四:layout_weight 的使用

layout_weight 这个参数很有用,在 LinearLayout布局中可以通过这个调整各个组件占的面积的权重,

如果两个文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2, 则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要度越高)。

如下是一个例子

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <!--  
  3.    <LinearLayout> 
  4.        线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的 
  5. --> 
  6. <LinearLayout  
  7.     xmlns:android="http://schemas.android.com/apk/res/android" 
  8.     android:orientation="vertical"  
  9.     android:layout_width="fill_parent" 
  10.     android:layout_height="fill_parent"> 
  11.    <!-- android:orientation="vertical" 表示竖直方式对齐 
  12.         android:orientation="horizontal"表示水平方式对齐 
  13.         android:layout_width="fill_parent"定义当前视图在屏幕上 
  14.                      可以消费的宽度,fill_parent即填充整个屏幕。 
  15.         android:layout_height="wrap_content":随着文字栏位的不同 
  16.         而改变这个视图的宽度或者高度。有点自动设置框度或者高度的意思 
  17.                
  18.        layout_weight 用于给一个线性布局中的诸多视图的重要度赋值。 
  19.      所有的视图都有一个layout_weight值,默认为零,意思是需要显示 
  20.      多大的视图就占据多大的屏幕空 间。若赋一个高于零的值,则将父视 
  21.      图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight 
  22.        值以及该值在当前屏幕布局的整体 layout_weight值和在其它视图屏幕布 
  23.      局的layout_weight值中所占的比率而定。 
  24.      举个例子:比如说我们在 水平方向上有一个文本标签和两个文本编辑元素。 
  25.     该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。 
  26.     如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分 
  27.     在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个  
  28.    文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2, 
  29.    则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要 
  30.               度越高)。 
  31.     --> 
  32.     <LinearLayout 
  33.     android:orientation="horizontal" 
  34.     android:layout_width="fill_parent" 
  35.     android:layout_height="fill_parent" 
  36.     android:layout_weight="1"> 
  37.     <TextView 
  38.         android:text="red" 
  39.         android:gravity="center_horizontal" 
  40.         android:background="#aa0000" 
  41.         android:layout_width="wrap_content" 
  42.         android:layout_height="fill_parent" 
  43.         android:layout_weight="1"/> 
  44.      
  45.     <TextView 
  46.         android:text="green" 
  47.         android:gravity="center_horizontal" 
  48.         android:background="#00aa00" 
  49.         android:layout_width="wrap_content" 
  50.         android:layout_height="fill_parent" 
  51.         android:layout_weight="1"/> 
  52.      
  53.     <TextView 
  54.         android:text="blue" 
  55.         android:gravity="center_horizontal" 
  56.         android:background="#0000aa" 
  57.         android:layout_width="wrap_content" 
  58.         android:layout_height="fill_parent" 
  59.         android:layout_weight="1"/> 
  60.      
  61.     <TextView 
  62.         android:text="yellow" 
  63.         android:gravity="center_horizontal" 
  64.         android:background="#aaaa00" 
  65.         android:layout_width="wrap_content" 
  66.         android:layout_height="fill_parent" 
  67.         android:layout_weight="1"/> 
  68.          
  69.     </LinearLayout> 
  70.      
  71.     <LinearLayout 
  72.     android:orientation="vertical" 
  73.     android:layout_width="fill_parent" 
  74.     android:layout_height="fill_parent" 
  75.     android:layout_weight="2"> 
  76.      
  77.     <TextView 
  78.         android:text="row one" 
  79.         android:textSize="15pt" 
  80.         android:layout_width="fill_parent" 
  81.         android:layout_height="wrap_content" 
  82.         android:layout_weight="1"/> 
  83.      
  84.     <TextView 
  85.         android:text="row two" 
  86.         android:textSize="15pt" 
  87.         android:layout_width="fill_parent" 
  88.         android:layout_height="wrap_content" 
  89.         android:layout_weight="1"/> 
  90.      
  91.     <TextView 
  92.         android:text="row three" 
  93.         android:textSize="15pt" 
  94.         android:layout_width="fill_parent" 
  95.         android:layout_height="wrap_content" 
  96.         android:layout_weight="1"/> 
  97.      
  98.     <TextView 
  99.         android:text="row four" 
  100.         android:textSize="15pt" 
  101.         android:layout_width="fill_parent" 
  102.         android:layout_height="wrap_content" 
  103.         android:layout_weight="1"/> 
  104.          
  105. </LinearLayout> 
  106.          
  107.     </LinearLayout> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值