我有2个ImageButton和一个ToggleButton,它们的相对布局填充了它的父级。这是xml代码:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/relative2">
<ImageButton
android:layout_width="80dp"
android:layout_height="80dp"
android:id="@+id/imageButton4"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:src="@drawable/ic_exposure_minus1"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp" />
<ImageButton
android:layout_width="80dp"
android:layout_height="80dp"
android:id="@+id/imageButton6"
android:src="@drawable/ic_cancel_black"
android:layout_alignTop="@+id/imageButton4"
android:layout_toEndOf="@+id/imageButton4"
android:layout_marginLeft="5dp" />
<ToggleButton
android:layout_width="80dp"
android:layout_height="80dp"
android:text="New ToggleButton"
android:id="@+id/toggleButton"
android:checked="false"
android:clickable="true"
android:textOn="+"
android:textOff="-"
android:textSize="18dp"
android:layout_below="@+id/imageButton4"
android:layout_toStartOf="@+id/imageButton6"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false" />
</RelativeLayout>
当设备处于纵向模式时,按钮有足够的高度空间。当设备旋转到横向时,相对布局变小,所有按钮都没有空间。缺乏空间是在高度方面。因此,放置在其他按钮底部的Togglebutton会自动缩放到较小的高度,以便它适合。
我希望所有按钮的高度都能同等改变,而不是只改变最后一个(ToggleButton)的高度。然后我会有3个具有相同高度的按钮,而不是保持初始高度的2个按钮和高度较小的按钮。 我可以通过更改xml文件来获得此结果吗?
PS:为了更清楚:
答案 0 :(得分:0)
要使3个按钮的高度相等,请将父布局从相对布局更改为线性布局。并同等地启用布局权重属性。所以它们的大小相同。
答案 1 :(得分:0)
如果要在不同方向上制作统一的UI,则应使用 LinearLayout 。 使用方向属性以及布局权重,您将获得所需的结果。
您只需相应地制作嵌套的Linearlayouts。
这是使用线性布局制作的布局。
希望您了解使用线性布局的重要性。
<?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">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp" >
<ImageButton
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_weight="0.5"
android:id="@+id/imageButton4"
android:src="@drawable/ic_exposure_minus1"
android:layout_marginLeft="5dp"/>
<ImageButton
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_weight="0.5"
android:id="@+id/imageButton6"
android:src="@drawable/ic_cancel_black"
android:layout_marginLeft="5dp" />
</LinearLayout>
<ToggleButton
android:layout_width="match_parent"
android:layout_height="80dp"
android:text="New ToggleButton"
android:id="@+id/toggleButton"
android:checked="false"
android:clickable="true"
android:textOn="+"
android:textOff="-"
android:textSize="18dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"/>
</LinearLayout>