我的 LinearLayout
随屏幕方向变化。在纵向模式下,它看起来很完美:
但在横向模式下它看起来像这样:
如何修复我的 UI,使其在两种模式下看起来相同?
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/border"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/imgfourth1"
android:layout_width="70dp"
android:layout_height="50dp"
android:layout_marginRight="25dp"
android:layout_marginLeft="25dp"
android:paddingTop="2dp"
android:src="@drawable/amlet1" />
<ImageView
android:id="@+id/imgfourth2"
android:layout_width="70dp"
android:paddingTop="2dp"
android:layout_height="50dp"
android:layout_marginRight="25dp"
android:contentDescription="@null"
android:src="@drawable/lnch1" />
<ImageView
android:id="@+id/imgfourth3"
android:layout_marginRight="25dp"
android:paddingLeft="20dp"
android:layout_width="70dp"
android:layout_height="50dp"
android:paddingTop="2dp"
android:contentDescription="@null"
android:src="@drawable/supper" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="20dp"
android:background="@drawable/border4"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtfth1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="2dp"
android:layout_marginLeft="25dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:gravity="center"
android:contentDescription="@null"
android:text="Breakfast" />
<TextView
android:id="@+id/txtfth2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="25dp"
android:paddingLeft="10dp"
android:gravity="center"
android:paddingRight="35dp"
android:layout_marginTop="2dp"
android:contentDescription="@null"
android:text="Lunch" />
<TextView
android:id="@+id/txtfth3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:gravity="center"
android:paddingRight="30dp"
android:contentDescription="@null"
android:text="Supper" />
</LinearLayout>
</LinearLayout>
最佳答案
您有 3 个 LinearLayouts,1 个外部和 2 个内部。在内部布局上放置这个 android:layout_gravity="center_horizontal"
。这应该使两者居中。
此外,您认为自己的肖像有效的事实不正确。请注意右侧的空白区域。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/border"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imgfourth1"
android:layout_width="70dp"
android:layout_height="50dp"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:paddingTop="2dp"
android:src="@drawable/amlet1" />
<ImageView
android:id="@+id/imgfourth2"
android:layout_width="70dp"
android:layout_height="50dp"
android:layout_marginRight="25dp"
android:contentDescription="@null"
android:paddingTop="2dp"
android:src="@drawable/lnch1" />
<ImageView
android:id="@+id/imgfourth3"
android:layout_width="70dp"
android:layout_height="50dp"
android:layout_marginRight="25dp"
android:contentDescription="@null"
android:paddingLeft="20dp"
android:paddingTop="2dp"
android:src="@drawable/supper" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/border4"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtfth1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="25dp"
android:layout_marginTop="2dp"
android:contentDescription="@null"
android:gravity="center"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:text="Breakfast" />
<TextView
android:id="@+id/txtfth2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="25dp"
android:layout_marginTop="2dp"
android:contentDescription="@null"
android:gravity="center"
android:paddingLeft="10dp"
android:paddingRight="35dp"
android:text="Lunch" />
<TextView
android:id="@+id/txtfth3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:contentDescription="@null"
android:gravity="center"
android:paddingRight="30dp"
android:text="Supper" />
</LinearLayout>
</LinearLayout>
关于android - 如何使 UI 在横向模式下看起来相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18274098/