android - 使滚动结束后出现底部按钮

标签 android

我的按钮有问题,它位于屏幕底部。我只想在滚动结束后显示它。困难在于我的布局设计如下

<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"
android:id="@+id/all">

<include
    android:id="@+id/toolbar"
    layout="@layout/new_toolbar"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<com.google.android.material.tabs.TabLayout
    android:id="@+id/question_steps"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="16dp"
    android:layout_marginStart="16dp"
    android:layout_marginTop="8dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/toolbar"
    app:tabIndicatorHeight="0dp"
    android:visibility="gone"
    app:tabTextColor="@color/tab_text"
    app:tabSelectedTextColor="@color/orange_text"/>

<ProgressBar
    android:id="@+id/questionnaire_progress"
    style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
    android:layout_width="match_parent"
    android:layout_height="4dp"
    android:max="5"
    android:progress="1"
    android:progressDrawable="@drawable/questionnaire_progress"
    app:layout_anchor="@+id/toolbar"
    app:layout_anchorGravity="bottom|center" />

<QuestionnairePager
    android:id="@+id/questions_content"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="59dp"
    app:layout_anchorGravity="center|bottom"
    app:layout_anchor="@id/questionnaire_progress"
    app:layout_scrollFlags="scroll|enterAlways"/>

    <android.widget.Button
        android:id="@+id/next"
        style="@style/styleCustomSolidButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:drawableEnd="@drawable/goto_white"
        android:text="@string/submit"
        android:visibility="visible"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        app:layout_anchor="@+id/questions_content"
        app:layout_anchorGravity="bottom|center" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

在我的 ViewPager 中,它是 QuestionnairePager,我有 fragmentScrollView,我想显示我的仅在滚动到达末尾后才显示按钮。我怎样才能做到?有人可以给我任何建议吗。

最佳答案

试试这个

scrollView.getViewTreeObserver()
       .addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
            @Override
            public void onScrollChanged() {
                if (scrollView.getChildAt(0).getBottom()
                     <= (scrollView.getHeight() + scrollView.getScrollY())) {
                    //scroll view is at bottom show your view


                } else {
                    //scroll view is not at bottom hide your view
                }
            }
        });

关于android - 使滚动结束后出现底部按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58077873/

相关文章:

android - 构建版本 25.2.0 中的 fragment 返回堆栈问题

android - 更改应用程序颜色

android - FFMPEG 命令-严格的实验性,-ar,-s,-b :a vs -ab, -b vs -b:v

android - iFrame 无法在手机或平板电脑上加载

java - 在应用程序的整个 Activity 中管理持久视觉数据(事件驱动的按钮和 ImageView )

android - 适用于Android的Libav构建

Android 和 iPhone 应用程序设计方法

java - 我应该从正在使用的主要 Activity 中访问 fragment 中的内容吗?

java - Retrofit2 处理包含两个模型数据的 JSON 响应

Android Wear Notification Dismissed 监听器