必须使用LinearLayout才行 ,具体实现有两种方法:
1. 设置所有控件的layout_width=0dp(或者layout_height),然后将所有控件的layout_weight=1。
例如:
<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/btn_login"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="loginasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfas"
android:layout_weight="1"/>
<Button android:id="@+id/btn_logout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="logout"
android:layout_weight="1"
android:enabled="false"/>
</LinearLayout>
然后引申一下,如果要按比例等分呢,按照比例大小,分别设置每个空间的layout_weight的值,值得大小与空间的比例大小一样。
如上例,如果宽度比login/logout=5:1,则
<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/btn_login"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="loginasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfas"
android:layout_weight="5"/>
<Button android:id="@+id/btn_logout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="logout"
android:layout_weight="1"
android:enabled="false"/>
</LinearLayout>
多个控件同理。
2. 设置所有控件的layout_width=fill_parent(或者layout_height),然后将所有控件的layout_weight=1。
<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/btn_login"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="loginasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfas"
android:layout_weight="1"/>
<Button android:id="@+id/btn_logout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="logout"
android:layout_weight="1"
android:enabled="false"/>
</LinearLayout>
然后引申一下,如果要按比例等分呢,按照比例大小,分别设置每个空间的layout_weight的值,值得大小与空间的比例成反比。
如上例,如果宽度比login/logout=5:1,则 layout_weight比为1:5
<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/btn_login"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="loginasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfas"
android:layout_weight="1"/>
<Button android:id="@+id/btn_logout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="logout"
android:layout_weight="5"
android:enabled="false"/>
</LinearLayout>
多个控件同理。