FloatingActionButton 在 ViewPager 中不可见

Posted

技术标签:

【中文标题】FloatingActionButton 在 ViewPager 中不可见【英文标题】:FloatingActionButton is not visible inside ViewPager 【发布时间】:2020-01-02 18:18:10 【问题描述】:

我有一个 ViewPager,里面有一个在屏幕上不可见的 FloatingActionButton。 在 ActivityMain 文件中,我没有采取任何行动。 这是我的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    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_
    android:layout_
    tools:context=".MainActivity">

    <androidx.viewpager.widget.ViewPager
        android:id="@+id/viewpager"
        android:layout_
        android:layout_
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" >

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/floatingActionButton"
            android:layout_
            android:layout_
            android:clickable="true"
            android:src="@android:drawable/arrow_up_float"
            android:focusable="true"
            app:layout_anchor="@id/viewpager"/>

    </androidx.viewpager.widget.ViewPager>
</androidx.constraintlayout.widget.ConstraintLayout>

【问题讨论】:

你的浮动操作按钮应该在你的viewpager之外 【参考方案1】:

将您的FloatingActionButton 移到ViewPager 之外

试试这个方法

<androidx.constraintlayout.widget.ConstraintLayout
    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_
    android:layout_
    tools:context=".MainActivity">

    <androidx.viewpager.widget.ViewPager
        android:id="@+id/viewpager"
        android:layout_
        android:layout_
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" >


    </androidx.viewpager.widget.ViewPager>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/floatingActionButton"
        android:layout_
        android:layout_
        android:clickable="true"
        android:focusable="true"
        android:src="@android:drawable/arrow_up_float"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

【讨论】:

以上是关于FloatingActionButton 在 ViewPager 中不可见的主要内容,如果未能解决你的问题,请参考以下文章

在 RecyclerView 的滚动上隐藏 FloatingActionButton

Flutter - 隐藏 FloatingActionButton

向下滚动隐藏效果的 FloatingActionButton

在支持库中为 FloatingActionButton 设置边框颜色

如何根据在 Kotlin 中选择的片段显示/隐藏 FloatingActionButton?

锚定到BottomAppBar的FloatingActionButton在应用程序恢复时消失