来自CoordinatorLayout.Behavior的onDependentViewChanged一直调用

时间:2017-02-24 12:03:24

标签: android android-coordinatorlayout coordinator-layout

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

如果我从onDependentViewChanged

返回false,则不会改变

我无法找到有关此信息的任何信息,但这些垃圾邮件我的日志并不像是一个正确的行为。会耗尽电池。

我的简化布局如下:

<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>

1 个答案:

答案 0 :(得分:6)

显然我没有按照说明做回复假。 如果不进行任何更改并且没有对视图执行任何操作,则键将返回false。我所做的是无论如何调整一些视图(甚至params是相同的)然后返回false。这导致了连锁电话