一、想要FloatingActionButton在两个layout中间的效果:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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"
    tools:context=".ui.maps.MapsFragment">

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

        <LinearLayout
            android:id="@+id/viewA"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.6"
            android:background="@android:color/holo_purple"
            android:orientation="horizontal"/>

        <LinearLayout
            android:id="@+id/viewB"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.4"
            android:background="@android:color/holo_orange_light"
            android:orientation="horizontal"/>

    </LinearLayout>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        app:layout_anchor="@id/viewA"
        android:src="@android:drawable/ic_input_add"
        app:layout_anchorGravity="bottom|right|end"
        android:contentDescription="@string/app_name" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

关键代码:
要在CoordinatorLayout里添加FloatingActionButton, 通过app:layout_anchor和app:layout_anchorGravity确认FloatingActionButton的位置
在这里插入图片描述

二、
定义ScrollAwareFABBehavior类时,提示Could not inflate Behavior subclass
后改成如下:

class ScrollAwareFABBehavior(context: Context?, attrs: AttributeSet?) : Behavior(context, attrs) {

参考链接:
Material Design(各种 MaterialDesign 样式)
Material Design - Scrolling techniques
Overlap scrolling view with AppBarLayout
Floating Action Button-Android M新控件

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐