0

我目前正在使用 android studio 创建一个应用程序,但在屏幕右下角放置一个按钮时遇到问题。我选择用一些组件填充相对布局,android:layout_marginRight="<x>dp"到目前为止,它已经使我能够阻止视图接触边缘。我成功使用它的示例如下所示(用于悬停在右上角的按钮的 XML):

<RelativeLayout blah>
    <com.google.android.material.button.MaterialButton
        android:id="someID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:align_parentEnd="true" 
        android:layout_marginEnd="20dp"
        android:layout_marginTop="20dp"
        and so on describing the button but no more geometric statements
    />
</RelativeLayout>

但是,当我对添加行的按钮执行相同操作时,android:layout_alignParentBottomandroid:layout_marginBottom边距线无效并且按钮粘在屏幕底部 - 这是违规者: android studio 旁边的按钮的 XML渲染

请有人可以解释为什么会发生这种情况以及如何解决它?我试图在右下角放置一个按钮,其右侧和下方为 20dp,因此它“悬停”在那里。

这是我目前的 XML 的其余部分:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="wrap_content"
    android:layout_height="wrap_content"
    tools:context=".MainActivity">

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/btn_add_review"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="20dp"
        android:layout_marginBottom="20dp"
        android:paddingBottom="20dp"
        android:clickable="true"       
        app:backgroundTint="@color/themeColorOrange"
        app:srcCompat="@drawable/ic_baseline_add_24" />
    
</RelativeLayout>
4

1 回答 1

0

你可以简单地RelativeLayout在你的周围放一个FloatingActionButton并给它一个这样padding的:20dp

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="wrap_content"
    android:layout_height="wrap_content"
    tools:context=".MainActivity">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:paddingBottom="20dp"
        android:layout_height="wrap_content">

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/btn_add_review"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentBottom="true"
            android:layout_marginEnd="20dp"
            android:clickable="true"
            app:backgroundTint="@color/themeColorOrange"
            app:srcCompat="@drawable/ic_baseline_add_24" />
    </RelativeLayout>
</RelativeLayout>

不幸marginBottom的是不能与alignParentBottom.

于 2021-11-30T04:07:47.990 回答