如何防止按钮和其他对象重叠?

时间:2018-02-11 16:20:41

标签: java android xml android-layout

当我使用android模拟器进行预览时,布局预览就可以了。但是当我在移动设备上安装应用程序时,视图会重叠。可能是因为手机屏幕空间不足但我不知道。请帮帮我。并帮助我使这个应用程序适用于所有屏幕尺寸。提前谢谢。

第一张图片是模拟器预览第二张是移动预览

First image is emulator preview 2nd is mobile preview

这是xml代码:

<?xml version="1.0" encoding="utf-8"?>

    <LinearLayout

        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="16dp"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:paddingTop="16dp"
        android:orientation="vertical"
        android:background="@drawable/newbackground"
        tools:context=".MainActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="300dp">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="40dp"
            app:srcCompat="@drawable/dicee_logo" />
    </RelativeLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/dicee_right"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            app:srcCompat="@drawable/dice1" />

        <ImageView
            android:id="@+id/dicee_left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            app:srcCompat="@drawable/dice2" />

    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <Button
            android:id="@+id/roll_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="61dp"
            android:background="@color/colorPrimary"
            android:text="@string/button_text"
            android:textColor="@android:color/white" />

        <Button
            android:id="@+id/next_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignEnd="@+id/roll_button"
            android:layout_alignParentBottom="true"
            android:layout_alignRight="@+id/roll_button"
            android:layout_marginBottom="25dp"
            android:background="@android:color/holo_blue_light"
            android:text="Next page" />
    </RelativeLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

尝试以下修改过的代码。因为你想要按钮在彼此之下。你不能把一个放在另一个的右边,所以删除alignRight。

 <Button
        android:id="@+id/roll_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        **android:layout_marginTop="21dp"**
        android:background="@color/colorPrimary"
        android:text="@string/button_text"
        android:textColor="@android:color/white" />

<Button
            android:id="@+id/next_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignEnd="@+id/roll_button"
            android:layout_alignParentBottom="true"
            **android:layout_alignRight="@+id/roll_button"**
            android:layout_marginBottom="25dp"
            android:background="@android:color/holo_blue_light"
            android:text="Next page" />

答案 1 :(得分:0)

这将使2 textview保持在底部,并将在您使用的任何视图中展开

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">


    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:scaleType="centerInside"
        android:src="@drawable/ic_word" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/dicee_right"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            app:srcCompat="@drawable/ic_word" />

        <ImageView
            android:id="@+id/dicee_left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            app:srcCompat="@drawable/ic_pdf" />

    </LinearLayout>


    <Button
        android:id="@+id/roll_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:background="@color/colorPrimary"
        android:text="text"
        android:textColor="@android:color/white" />

    <Button
        android:id="@+id/next_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="30dp"
        android:background="@android:color/holo_blue_light"
        android:text="Next page" />


</LinearLayout>