我有一个带有6个按钮的视图。按钮是并排的并且在彼此之下(两行)当我在Android Studio中使用预览时,我的button.xml的结果是正常的。但是当使用模拟器构建时,所有按钮都被向上推。一半按钮被推到视图外。为什么预览结果与模拟器不同?我怎样才能解决这个问题?在我的代码下面:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background">
<Button
android:layout_toLeftOf="@+id/btnScan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnScan5"
android:layout_alignBottom="@+id/btnScan5"
android:layout_alignStart="@+id/btnScan3"
android:background="@android:color/transparent"
android:drawableTop="@drawable/paper"
android:onClick="buttonOnClick"
android:text="Button 1"
android:textColor="#ffffff"></Button>
<Button
android:id="@+id/btnScan1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="60dp"
android:layout_marginTop="30dp"
android:background="@android:color/transparent"
android:drawableTop="@drawable/exam"
android:onClick="buttonOnClick"
android:text="Button 2"
android:textColor="#ffffff"
android:layout_below="@+id/btnScan4"
android:layout_alignParentStart="true"></Button>
<Button
android:id="@+id/btnScan2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnScan4"
android:layout_alignBottom="@+id/btnScan4"
android:layout_alignParentEnd="true"
android:layout_marginEnd="70dp"
android:background="@android:color/transparent"
android:drawableTop="@drawable/pen"
android:onClick="buttonOnClick"
android:text="Button 3"
android:textColor="#ffffff"></Button>
<Button
android:id="@+id/btnScan3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:drawableTop="@drawable/bulletedlist"
android:onClick="buttonOnClick"
android:text="Button 4"
android:textColor="#ffffff"
android:layout_alignBaseline="@+id/btnScan1"
android:layout_alignBottom="@+id/btnScan1"
android:layout_alignStart="@+id/btnScan2"></Button>
<Button
android:id="@+id/btnScan4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:background="@android:color/transparent"
android:drawableTop="@drawable/curriculumpng"
android:onClick="buttonOnClick"
android:text="Button 5"
android:textColor="#ffffff"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/btnScan1"></Button>
<Button
android:id="@+id/btnScan5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/btnScan1"
android:layout_below="@+id/btnScan1"
android:layout_marginTop="30dp"
android:background="@android:color/transparent"
android:drawableTop="@drawable/globearth"
android:onClick="buttonOnClick"
android:text="Button 6"
android:textColor="#ffffff"></Button>
</RelativeLayout>
答案 0 :(得分:0)
我建议您在Frame布局中使用线性布局。试试下面的代码。
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:weightSum="1"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:text="Button 1"
android:id="@+id/button_one"
android:layout_weight="0.33"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<Button
android:text="Button 2"
android:id="@+id/button_two"
android:layout_weight="0.33"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<Button
android:text="Button 3"
android:id="@+id/button_three"
android:layout_weight="0.33"
android:layout_width="0dp"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:weightSum="1"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:text="Button 4"
android:id="@+id/button_four"
android:layout_weight="0.33"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<Button
android:text="Button 5"
android:id="@+id/button_five"
android:layout_weight="0.33"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<Button
android:text="Button 6"
android:id="@+id/button_six"
android:layout_weight="0.33"
android:layout_width="0dp"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>