android布局之LinearLayout, layout_weight

来源:互联网 发布:ds数据精灵授权码 编辑:程序博客网 时间:2024/05/17 04:10
  layout_weight 这个参数很有用,在LinearLayout布局中可以通过这个调整各个组件占的面积的权重,如下是一个例子

  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值,默认就为0,所以它将占据最少的空间。  
  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>  

 

  1. package com.eoembile.iceskysl.testlayout;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5.   
  6. public class Views extends Activity {  
  7.     /** Called when the activity is first created. */  
  8.     @Override  
  9.     public void onCreate(Bundle savedInstanceState) {  
  10.         super.onCreate(savedInstanceState);  
  11.         setContentView(R.layout.main);  
  12.     }  
  13. }

原创粉丝点击