setOnScrollChangeListener在NestedScrollView中不起作用

时间:2019-05-10 12:06:47

标签: android android-nestedscrollview onscrollchanged

我正在借助嵌套滚动视图设置工具栏动画。但是setOnScrollChangeListener无法正常工作。

  

这里的问题是setOnScrollChangeListener不起作用。卷动   没有检测到

请帮助我解决此问题。我认为问题出在我的xml设计上,因为我只是在演示项目中使用了代码,所以效果很好。 但在这里不起作用。没有检测到滚动。

这是我的xml文件

<?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:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:orientation="vertical"
        android:gravity="center"
        android:background="#ffff">
        <LinearLayout
            android:id="@+id/new_bar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:gravity="center"
            >

            <TextView
                android:id="@+id/new_tool"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="header text"
                android:textSize="16dp"
                android:textColor="@color/app_gray"
                android:textStyle="bold"/>

        </LinearLayout>
    </LinearLayout>

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#FFF"
        android:fitsSystemWindows="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:orientation="vertical"
            app:layout_scrollFlags="scroll|enterAlways">
            <TextView
                android:id="@+id/colapseHead"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="header text"
                android:layout_marginLeft="10dp"
                android:layout_marginBottom="5dp"
                android:textSize="30dp"
                android:textColor="@color/app_gray"
                android:textStyle="bold"/>
        </LinearLayout>

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


        <android.support.v4.widget.NestedScrollView
            android:id="@+id/nested_content"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true"
            android:clipToPadding="false"
            android:scrollbars="none"
            android:scrollingCache="true"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:layout_marginBottom="50dp">

            <android.support.v4.view.ViewPager
                android:id="@+id/viewpager"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="visible"
                android:focusableInTouchMode="true"
                android:background="#fff"
                />


        </android.support.v4.widget.NestedScrollView>

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="gone"
        android:layout_gravity="bottom">
        <RelativeLayout
            android:id="@+id/lay_tabs"
            android:layout_width="match_parent"
            android:layout_alignParentBottom="true"
            android:layout_height="50dp">
            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="@color/app_graylight"/>

            <android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:layout_below="@+id/re_lay"
                android:layout_alignParentBottom="true"
                android:background="@color/white"
                app:tabIndicatorColor="@null"
                />


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:orientation="horizontal"
                android:weightSum="5">

                <RelativeLayout
                    android:layout_width="0px"
                    android:layout_height="match_parent"
                    android:translationZ="5dp"
                    android:layout_weight="1"
                    android:layout_marginLeft="8dp"
                    android:layout_marginRight="3dp"

                    >
                    <RelativeLayout
                        android:id="@+id/lay1"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@color/app_white"
                        android:visibility="visible">
                        <ImageView
                            android:id="@+id/img1"
                            android:layout_width="30dp"
                            android:layout_height="30dp"
                            android:padding="5dp"
                            android:layout_centerHorizontal="true"
                            android:layout_marginTop="5dp"
                            android:src="@drawable/home_tab_icon"/>
                        <com.nocon.spark.manager.FontFitTextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:layout_marginTop="1dp"
                            android:textSize="60sp"
                            android:textColor="@color/bottomtextcolor"
                            android:layout_below="@+id/img1"
                            android:text="@string/tab_home"
                            android:layout_centerHorizontal="true"/>

                    </RelativeLayout>
                </RelativeLayout>
                <RelativeLayout
                    android:layout_width="0px"
                    android:layout_weight="1"
                    android:layout_height="match_parent"
                    android:translationZ="5dp"
                    android:layout_marginLeft="3dp"
                    android:layout_marginRight="8dp"

                    >
                    <RelativeLayout
                        android:id="@+id/lay2"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@color/app_white"
                        android:visibility="visible">
                        <ImageView
                            android:id="@+id/img2"
                            android:layout_width="30dp"
                            android:layout_height="30dp"
                            android:padding="5dp"
                            android:layout_centerHorizontal="true"
                            android:layout_marginTop="5dp"
                            android:src="@drawable/virtual_tab_icon"/>
                        <com.nocon.spark.manager.FontFitTextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:layout_marginTop="1dp"
                            android:textSize="60sp"
                            android:textColor="@color/bottomtextcolor"
                            android:layout_below="@+id/img2"
                            android:text="@string/more_appointments"
                            android:layout_centerHorizontal="true"/>
                    </RelativeLayout>
                </RelativeLayout>
                <RelativeLayout
                    android:layout_width="0px"
                    android:layout_height="match_parent"
                    android:translationZ="5dp"
                    android:layout_weight="1"
                    android:layout_marginLeft="8dp"
                    android:layout_marginRight="8dp"

                    >
                    <RelativeLayout
                        android:id="@+id/lay5"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@color/app_white"
                        android:visibility="visible">
                        <ImageView
                            android:id="@+id/img5"
                            android:layout_width="30dp"
                            android:layout_height="30dp"
                            android:padding="5dp"
                            android:layout_centerHorizontal="true"
                            android:layout_marginTop="5dp"
                            android:src="@drawable/message_icon"/>
                        <com.nocon.spark.manager.FontFitTextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:layout_marginTop="1dp"
                            android:textSize="60sp"
                            android:textColor="@color/bottomtextcolor"
                            android:layout_below="@+id/img5"
                            android:text="@string/chatbot"
                            android:layout_centerHorizontal="true"/>
                    </RelativeLayout>
                </RelativeLayout>

                <RelativeLayout
                    android:layout_width="0px"
                    android:layout_height="match_parent"
                    android:translationZ="5dp"
                    android:layout_weight="1"
                    android:layout_marginLeft="8dp"
                    android:layout_marginRight="8dp"

                    >
                    <RelativeLayout
                        android:id="@+id/lay3"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@color/app_white"
                        android:visibility="visible">
                        <ImageView
                            android:id="@+id/img3"
                            android:layout_width="30dp"
                            android:layout_height="30dp"
                            android:padding="5dp"
                            android:layout_centerHorizontal="true"
                            android:layout_marginTop="5dp"
                            android:src="@drawable/my_health_tab_icon"/>
                        <com.nocon.spark.manager.FontFitTextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:layout_marginTop="1dp"
                            android:textSize="60sp"
                            android:textColor="@color/bottomtextcolor"
                            android:layout_below="@+id/img3"
                            android:text="@string/tab_health"
                            android:layout_centerHorizontal="true"
                            style="@style/tabtextstyle"/>
                    </RelativeLayout>
                </RelativeLayout>
                <RelativeLayout
                    android:layout_width="0px"
                    android:layout_height="match_parent"
                    android:translationZ="5dp"
                    android:layout_weight="1"
                    android:layout_marginLeft="8dp"
                    android:layout_marginRight="8dp"

                    >
                    <RelativeLayout
                        android:id="@+id/lay4"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@color/app_white"
                        android:visibility="visible">
                        <ImageView
                            android:id="@+id/img4"
                            android:layout_width="30dp"
                            android:layout_height="30dp"
                            android:padding="5dp"
                            android:layout_centerHorizontal="true"
                            android:layout_marginTop="5dp"
                            android:src="@drawable/account_tab_icon"
                            android:tint="@color/app_header"/>
                        <com.nocon.spark.manager.FontFitTextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:textSize="60sp"
                            android:gravity="center"
                            android:layout_marginTop="1dp"
                            android:textColor="@color/bottomtextcolor"
                            android:layout_below="@+id/img4"
                            android:text="@string/tab_account"
                            android:layout_centerHorizontal="true"/>
                    </RelativeLayout>
                </RelativeLayout>
            </LinearLayout>
            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="@color/app_graylight"/>
          </RelativeLayout>
        </android.support.design.widget.CoordinatorLayout>
    </android.support.design.widget.CoordinatorLayout>
</LinearLayout>

这是我的代码

final NestedScrollView nested_content = (NestedScrollView) findViewById(R.id.nested_content);
    nested_content.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
        @Override
        public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {

            Log.e("ProductFragment","position button " + scrollX + "======= scrollY " + scrollY);
            if (scrollY < oldScrollY) { // up
                animateFab(true);
                animateSearchBar(true);
                colapseBar.setVisibility(View.GONE);
            }
            if (scrollY > oldScrollY) { // down

                animateFab(false);
                animateSearchBar(false);
                colapseBar.setVisibility(View.VISIBLE);

            }
        }
    });

0 个答案:

没有答案