ConstraintLayout AHBottomNavigation动画问题

时间:2019-01-16 15:00:00

标签: java android kotlin android-constraintlayout

我有一个ConstraintLayout,底部带有导航栏。在某些情况下,我需要使用ConstraintLayout动画隐藏底部导航。

XML布局文件:

<android.support.constraint.ConstraintLayout
        android:id="@+id/lMainConstraint"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
. . .
toolbar and others views
. . .

<com.aurelhubert.ahbottomnavigation.AHBottomNavigation
                android:id="@+id/vNavigation"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
            app:layout_constraintBottom_toBottomOf="parent" />
</android.support.constraint.ConstraintLayout>

要滑动到底部来隐藏导航:

  val newSet = ConstraintSet()
            newSet.clone(mInitialSet)
newSet.connect(R.id.toolbar, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.TOP)
        newSet.connect(R.id.vNavigation, ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM)

            val transition = AutoTransition()
            transition.interpolator = AccelerateInterpolator()
            transition.duration = 250
            TransitionManager.beginDelayedTransition(lMainConstraint, transition)
            newSet.applyTo(lMainConstraint)

但是,vNavigation仅隐藏一半。我顶部的R.id.toolbar完全隐藏了,其他ViewGroup完全隐藏了。

AHBottomNavigation放入LinearLayout或其他任何符号都是没有意义的。

使用库- com.aurelhubert:ahbottomnavigation:2.2.0

1 个答案:

答案 0 :(得分:0)

我想这是因为AHBottomNavigation的底部已被app:layout_constraintBottom_toBottomOf="parent"约束到父级的底部。因此,当您通过将AHBottomNavigation的顶部与父级的底部相连来添加新的约束时,它将集中在这两个约束之间。将set.clear(R.id.vNavigation, ConstraintSet.BOTTOM);添加到您的代码中,看看它是否有效。