首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们如何将浮动操作按钮放在任何布局的顶部

问我们如何将浮动操作按钮放在任何布局的顶部
EN

Stack Overflow用户
提问于 2017-07-11 03:07:53
回答 5查看 11.4K关注 0票数 2

我正在对浮动的动作按钮做一些操作。我有一个列表视图,并在我的屏幕底部显示google广告,浮动的操作按钮显示在相同的位置(底部|结束)。所以动作按钮隐藏了广告。

我想要移动浮动的行动按钮略高于广告线性布局。

请看图片:

​

我的代码如下:

代码语言:javascript
复制
<android.support.design.widget.FloatingActionButton
     android:id="@+id/fab"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_margin="@dimen/fab_margin"
     android:layout_alignParentBottom="true"
     android:layout_alignParentEnd="true"
     android:layout_alignParentRight="true"
     android:layout_gravity="bottom|end"
     android:src="@drawable/fav"
     android:adjustViewBounds="false" />


adLayoutId is ad layout id

请帮帮忙。

提前谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-07-11 03:54:58

您应该使用RelativeLayout,正如我们所知,在RelativeLayout中较晚的子代往往会浮动在RelativeLayout中较早的子代之上。

因此,要让FAB浮动在任何布局上,请确保在所有视图之后定义FAB (在XML布局的末尾)。

如果使用android:layout_margin="@dimen/fab_margin",操作FAB的最佳方法是设置视图之间的依赖关系,例如:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/adLayoutId"/>

    <LinearLayout
        android:id="@+id/adLayoutId"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:background="@android:color/black"/>

    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/adLayoutId"
        android:layout_alignParentRight="true"
        android:layout_margin="@dimen/fab_margin"
        android:src="@drawable/fav"/>
</RelativeLayout>

浮动动作按钮将始终位于广告线性布局之上,并且独立于广告布局大小。希望能有所帮助。

票数 8
EN

Stack Overflow用户

发布于 2017-07-11 03:24:16

代码语言:javascript
复制
<android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_marginBottom="100dp"
        android:layout_marginRight="30dp"
       />
票数 1
EN

Stack Overflow用户

发布于 2020-11-17 22:09:09

fab按钮中的这两行代码帮助我解决了这个问题:

代码语言:javascript
复制
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

下面是我单独使用的按钮的完整代码:

代码语言:javascript
复制
 <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab_newStudent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/fab_margin"
        android:contentDescription="@string/todo"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:srcCompat="@drawable/ic_baseline_add_24" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45019871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档