繁体   English   中英

锚定在布局底部的浮动操作按钮

[英]Floating Action Button anchored to the bottom of the layout

我正在尝试修改浮动操作按钮的位置,但我不明白为什么无法识别底部的边距。 这是它的样子,我想要做的是将可见的 FAB 从现在的位置移到上方一点:

在此处输入图片说明

这是代码:

<?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:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Search"
        android:layout_marginLeft="@dimen/_25sdp"
        android:layout_marginRight="@dimen/_25sdp"
        android:textSize="@dimen/_20ssp"
        android:textStyle="bold"
        android:textColor="#ffffff"/>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/layoutSearchBar"
        android:layout_gravity="center">

        <EditText
            android:id="@+id/search_field"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:layout_toStartOf="@+id/search_btn"
            android:background="@drawable/search_layout"
            android:ems="10"
            android:fontFamily="@font/nunito_bold"
            android:hint="Search here"
            android:textColorHint="@color/colorPrimary"
            android:inputType="textPersonName"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp"
            android:textColor="@color/colorPrimary"
            android:textSize="16sp" />

        <ImageButton
            android:id="@+id/search_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:paddingTop="17dp"
            android:layout_alignTop="@+id/search_field"
            android:background="@color/cardview_shadow_end_color"
            app:srcCompat="@mipmap/search_button" />
    </LinearLayout>

    <RelativeLayout
        android:layout_below="@+id/layoutSearchBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="@dimen/_150sdp"
        android:layout_marginTop="@dimen/_10sdp"
        android:orientation="vertical">
        <androidx.recyclerview.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:id="@+id/popular_rc_view">
        </androidx.recyclerview.widget.RecyclerView>

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="@dimen/_9sdp"
            android:layout_gravity="bottom|end"
            android:layout_marginRight="16dp"
            android:layout_above="@id/fab2"
            android:layout_alignParentRight="true"
            android:visibility="invisible"
            app:backgroundTint="@color/colorFabIcon"
            app:elevation="6dp"
            app:pressedTranslationZ="12dp"
            android:scaleType="center"
            android:src="@drawable/recent_icon" />

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="@dimen/_9sdp"
            android:layout_gravity="bottom|end"
            android:layout_marginRight="16dp"
            android:layout_above="@id/fab1"
            android:layout_alignParentRight="true"
            android:visibility="invisible"
            app:backgroundTint="@color/colorFabIcon"
            app:elevation="6dp"
            android:scaleType="center"
            app:pressedTranslationZ="12dp"
            android:src="@drawable/rated_icon" />

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@id/fab"
            android:layout_alignParentRight="true"
            android:layout_marginRight="16dp"
            android:src="@drawable/pop_icon"
            android:visibility="invisible"
            app:backgroundTint="@color/colorFabIcon"
            app:elevation="6dp"
            android:scaleType="center"
            app:pressedTranslationZ="12dp" />

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:elevation="6dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            app:backgroundTint="@color/colorPrimary"
            app:pressedTranslationZ="12dp"
            android:layout_marginRight="16dp"
            android:layout_marginBottom= "16dp"
            android:scaleType="centerInside"
            android:src="@drawable/filter" />
    </RelativeLayout>
</LinearLayout>

我也在尝试增加 FAB 内图像的大小,但我找不到任何选项或命令来执行此操作,因为使用 ScalyType 我只能将其居中。

对于 Fab 中的自定义尺寸图像,请使用

    app:maxImageSize="100dp" 
    android:scaleType="centerCrop"

Ps 这对于简单的布局来说太多了。 我建议你研究Constraint Layout

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM