按钮被推到视图之外

时间:2017-09-17 21:03:31

标签: android view

我有一个带有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>

1 个答案:

答案 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>