标签:
先上几张效果图, 如下:
上述四张图要实现的布局效果是: 假如父控件中包含两个子控件, 其中一个子控件(上图中为红色button)的宽度是固定数值, 而另一个子控件(上图中为绿色button)的宽度不固定, 要想让这两个子控件的总宽度刚好等于父控件的宽度.可以将宽度不固定的那个控件的宽度设置为match_parent来实现, 但有些细节需要注意, 否则即使设置了match_parent, 也不能出现如上的效果. 注意细节如下:
附上布局代码:
1. 图1的布局:
(1) 使用RelativeLayout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/red_button" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:background="#ff0000" android:text="1" /> <Button android:id="@+id/green_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toRightOf="@id/red_button" android:background="#00ff00" android:text="222222" /> </RelativeLayout>
(2) 使用LinearLayout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <Button android:id="@+id/red_button" android:layout_width="200dp" android:layout_height="wrap_content" android:background="#ff0000" android:text="1" /> <Button android:id="@+id/green_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#00ff00" android:text="222222" /> </LinearLayout>
2. 图2的布局:
(1) 使用RelativeLayout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/red_button" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:background="#ff0000" android:text="1" /> <Button android:id="@+id/green_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toRightOf="@id/red_button" android:background="#00ff00" android:text="222222" /> </RelativeLayout>
(2) 使用LinearLayout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <Button android:id="@+id/red_button" android:layout_width="50dp" android:layout_height="wrap_content" android:background="#ff0000" android:text="1" /> <Button android:id="@+id/green_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#00ff00" android:text="222222" /> </LinearLayout>
3. 图3的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/red_button" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:background="#ff0000" android:text="1" /> <Button android:id="@+id/green_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toLeftOf="@id/red_button" android:background="#00ff00" android:text="222222" /> </RelativeLayout>
4. 图4的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/red_button" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:background="#ff0000" android:text="1" /> <Button android:id="@+id/green_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toLeftOf="@id/red_button" android:background="#00ff00" android:text="222222" /> </RelativeLayout>
Android 设置子控件的宽度或高度为 match_parent来填充父控件中的剩余宽度或高度的方法
标签:
原文地址:http://www.cnblogs.com/zhzhy126/p/4323267.html