3

我实现CoordinatorLayout.Behavior并覆盖onDependentViewChanged了函数,但它让我担心它每隔几毫秒就会触发一次,即使滚动视图保持不动。

如果我从这里返回 false,那不会改变onDependentViewChanged

我找不到这方面的任何信息,但是这件事向我的日志发送垃圾邮件看起来不像是正确的行为。会耗尽电池。

我的简化布局如下所示:

<SwipeRefreshLayout
        android:id="@+id/ptr"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.CoordinatorLayout
            android:id="@+id/coordinatorLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <android.support.v4.widget.NestedScrollView
                android:id="@+id/scrollView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fillViewport="true"
                app:layout_behavior="@string/appbar_scrolling_view_behavior">
            </android.support.v4.widget.NestedScrollView>

            <FrameLayout
                android:id="@+id/avatarContainer"
                android:layout_width="20dp"
                android:layout_height="20dp"
                app:layout_anchor="@id/scrollView"
                app:layout_anchorGravity="center_horizontal|top"
                app:layout_behavior="my.app.behaviors.ProfileAvatarBehavior">

            </FrameLayout>

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

1 回答 1

7

显然,我没有按照所述返回 false。如果不进行任何更改并且不对视图进行任何操作,则关键是返回 false。我所做的就是调整一些视图的大小(甚至参数都相同),然后返回 false。这导致了链式调用

于 2017-02-24T12:10:06.680 回答