通过控件的属性能够控制该控件内的控件的位置以及大小。以下是放置了3个treeview控件的效果图。此LinearLayout控件的属性为垂直排列.
以下我们通过该控件的几个属性来了解下控件的使用方法
1.Orientation属性
该属性设置LinearLayout内的控件显示方向 vertical:垂直显示 horizontal水平显示
android:orientation="horizontal"
2. gravity属性
该属性用来设置LinearLayout内的控件显示位置。 android:gravity="center"表示垂直居中显示.
该属性有以下枚举值:
android:gravity="top"
android:gravity="bottom"
android:gravity="left"
android:gravity="right"
android:gravity="center_vertical"
android:gravity="fill_vertical"
android:gravity="fill_horizontal"
android:gravity="center_horizontal"
android:gravity="center_vertical"
android:gravity="fill"
android:gravity="clip_vertical"
android:gravity="clip_horizontal"
3.layout_weight属性
layout_weight主要是LinearLayout内控件的属性。用来设置LinearLayout内控件的所占比例。
3.1 当LinearLayout内的控件垂直排列,而且textview的高度android:layout_height="wrap_content" 时候。我们设置当中一个textview的 android:layout_weight="1",
效果例如以下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="标签1" android:background="#ff0000" /> <TextView android:id="@+id/textView2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="标签2" android:background="#FFB5C5" /> <TextView android:id="@+id/textView3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="标签3" android:background="#EE82EE" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="标签1" android:background="#ff0000" android:layout_weight="1" /> <TextView android:id="@+id/textView2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="2" android:text="标签2" android:background="#FFB5C5" /> <TextView android:id="@+id/textView3" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="标签3" android:background="#EE82EE" android:layout_weight="2" /> </LinearLayout>
看到这个效果后,大家可能会感觉到疑惑,标签2和标签3的weight值为2。 标签1的weigiht值为1,为什么标签1占的空间要大?
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="top" > <LinearLayout android:layout_width="fill_parent" android:layout_height="10dp"> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" > <LinearLayout android:layout_width="fill_parent" android:layout_weight="2" android:orientation="vertical" android:layout_height="fill_parent"> <ImageView android:id="@+id/imageView1" android:layout_width="90dp" android:layout_height="90dp" android:src="@raw/pad" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_weight="1" android:orientation="vertical" android:layout_height="fill_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="商品名称:IPAD Air" android:layout_weight="1" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="商品价格:$99" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="商品颜色:白色" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="2dp" android:background="#F0F0F0"> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" > <LinearLayout android:layout_width="fill_parent" android:layout_weight="2" android:orientation="vertical" android:layout_height="fill_parent"> <ImageView android:id="@+id/imageView1" android:layout_width="90dp" android:layout_height="90dp" android:src="@raw/pad" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_weight="1" android:orientation="vertical" android:layout_height="fill_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="商品名称:IPAD Air" android:layout_weight="1" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="商品价格:$99" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="商品颜色:白色" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="2dp" android:background="#F0F0F0"> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" > <LinearLayout android:layout_width="fill_parent" android:layout_weight="2" android:orientation="vertical" android:layout_height="fill_parent"> <ImageView android:id="@+id/imageView1" android:layout_width="90dp" android:layout_height="90dp" android:src="@raw/pad" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_weight="1" android:orientation="vertical" android:layout_height="fill_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="商品名称:IPAD Air" android:layout_weight="1" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="商品价格:$99" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="商品颜色:白色" /> </LinearLayout> </LinearLayout> </LinearLayout>