Android布局的layout_weight属性

 

layout_weight是LinearLayouts的view布局里一个很重要的值。

所有的view的layout_weight缺省值都是为0,意味着他们只在屏幕上占据它们需要显示的空间大小。activity根据这个View的比0大的layout_weight值来划分剩余的空间和其它Views定义的layout_weight也按比例进行空间的划分。

例如:假设我们在水平行上有一个文本标签和两个文本编辑框view. 文本标签没有定义layout_weight 值,所以它将占据最小的需要提供的空间. 如果每个文本框view的layout_weight 都被设置为1, 在父布局中的剩余的宽度将被它们平分.如果一个文本view的layout_weight值为1,另外一个是2, 那么剩余空间的三分之二将给第一个文本框,三分之一将给第二个文本框。(数值越小表示越重要)

又例如,编辑框+按钮,这样常用的组合我们可以用以下的方式取得:
<LinearLayout android:layout_width="fill_parent"
			android:layout_height="wrap_content">

	<EditText android:layout_alignParentTop="true"
			android:layout_alignParentLeft="true" 
                        android:layout_width="wrap_content"
			android:layout_height="wrap_content" 
                        android:id="@+id/mapSearchText"
			
                        android:layout_weight="5"></EditText>

	<ImageButton android:layout_width="wrap_content"
				android:layout_height="wrap_content" 
                                android:src="@drawable/find"
				android:id="@+id/mapSearch" 

                                android:layout_weight="0"></ImageButton>
		
</LinearLayout>
 

 

你可能感兴趣的:(android)