onDependentViewChanged вызывается один раз, только когда видимость зависимости изменилась - PullRequest
1 голос
/ 06 марта 2020

Я пытаюсь реализовать простой сценарий: нажмите на кнопку, чтобы показать / скрыть представление (зависимость). Когда представление (зависимость) отображается, переместите другое представление вниз. Но onDependentViewChanged вызывается только один раз ... Пожалуйста, помогите мне решить эту проблему.

<View
            android:id="@+id/child"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end|top"
            app:layout_behavior=".behavior.MoveDownBehavior">

<CustomizedView
        android:id="@+id/dependency"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top|center_horizontal"
        android:visibility="gone" />
class MoveDownBehavior<V : View>(context: Context, attrs: AttributeSet) :
    CoordinatorLayout.Behavior<V>(context, attrs) {

    // Rest of the code is the same
    override fun layoutDependsOn(parent: CoordinatorLayout, child: V, dependency: View): Boolean {

        return dependency is CustomizedView
    }

    override fun onDependentViewChanged(
        parent: CoordinatorLayout,
        child: V,
        dependency: View
    ): Boolean {
        Timber.e("dependency.visibility = ${dependency.visibility}")

        // TODO according dependency.visibility to move down or up the child view

        return super.onDependentViewChanged(parent, child, dependency)
    }
}

Что с ним не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...