android - 如何在上下滚动时隐藏和取消隐藏 TextView

标签 android textview android-coordinatorlayout floating-action-button onscrolllistener

我正在制作一个使用 Coordinator 布局的应用程序,我在其中使用了两个 TextView 和两个 float 操作按钮。当我向上滚动时,当一个 floatingactionbutton 离开 View 时,两个按钮都会隐藏,但 textview 不会隐藏。

下面显示的示例图片与我在上面解释的内容有关。 View when the floating action button is inside the view

View when both textivew and floatingactionbuttons are out of view

这是我的布局代码

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.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:fitsSystemWindows="true"
tools:context="com.trueblueoperator.samplescrolling.ScrollingActivity">

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="192dp"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="192dp"
            android:scaleType="centerCrop"
            android:src="@drawable/image"
            app:layout_collapseMode="parallax" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_scrolling" />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/dislike"
    app:layout_anchor="@id/app_bar"
    app:layout_anchorGravity="right|center_vertical" />

<TextView
    android:id="@+id/dislikes"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="5dp"
    android:paddingBottom="5dp"
    android:paddingTop="5dp"
    android:paddingRight="70dp"
    android:textSize="20dp"
    android:background="@drawable/rounded_corner"
    android:text="10"
    android:focusable="true"
    app:layout_anchor="@id/app_bar"
    app:layout_anchorGravity="right|center_vertical"
    />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/like"
    app:layout_anchor="@id/app_bar"
    app:layout_anchorGravity="right|bottom" />

<TextView
    android:id="@+id/likes"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="5dp"
    android:paddingBottom="5dp"
    android:paddingTop="5dp"
    android:paddingRight="70dp"
    android:textSize="20dp"
    android:focusable="true"
    android:background="@drawable/rounded_corner"
    android:text="100"
    app:layout_anchor="@id/app_bar"
    app:layout_anchorGravity="right|bottom"
    />


</android.support.design.widget.CoordinatorLayout>

最佳答案

在你的 AppBarLayout 上添加 Offset Changed 监听器

mAppBarLayout.addOnOffsetChangedListener(this);

覆盖方法在此处输入代码

@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int i) {

    if (Math.abs(i) >= (appBarLayout.getTotalScrollRange())) {
        // Make your TextView Visible here
    } else {
        // Make your TextView Invisible here
    }

}

关于android - 如何在上下滚动时隐藏和取消隐藏 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34610667/

相关文章:

android - 如何为我的所有应用程序或 Activity 禁用默认音效

android - 如何使用 Android Studio 和 gradle 构建一个 android 库?

java - 我怎样才能做一些像将文本设置到 ListView 中的 TextView 一样简单的事情

android - 如何制作带框的文本输入布局?

java - 带有 RecyclerView 的 CoordinatorLayout 在屏幕底部留下空白空间

android - React Native 持续集成(支持 iOS & Android)

java - 我在使用 android studio 在 java 中设置 TextVIew 时遇到问题

android - 拦截RecyclerView在NestedScrollView中向下滑动

android - 选项卡布局仅在滑动时折叠,而不是在慢速滚动时折叠

android - 电容器 - 为 cors 设置原点