gpt4 book ai didi

android - 如何以编程方式显示/隐藏 BottomAppBar?

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:55 33 4
gpt4 key购买 nike

我尝试使用 BottomAppBar,我希望能够像 AppBarLayout 中的 setExpanded 一样以编程方式隐藏或显示它。

我的布局是这样的

<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
...
</com.google.android.material.appbar.AppBarLayout>

<androidx.core.widget.NestedScrollView
android:id="@+id/nested"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<fragment
android:id="@+id/navHost"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/home_nav" />
</androidx.core.widget.NestedScrollView>

<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottomAppBar"
style="@style/Widget.MaterialComponents.BottomAppBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:backgroundTint="@color/colorPrimary"
app:fabAlignmentMode="center"
app:hideOnScroll="true"
app:layout_scrollFlags="scroll|enterAlways"
app:navigationIcon="@drawable/ic_menu"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

我尝试使用 AppBottomBar 的行为,但它不起作用。

最佳答案

您可以使用其行为类中的 slideUp(...)slideDown(...) 方法。例如:

Kotlin

 val bottomAppBar = ...
val behavior = bottomAppBar.behavior as HideBottomViewOnScrollBehavior
behavior.slideDown(bottomAppBar) // use this to hide it
behavior.slideUp(bottomAppBar) // use this to show it

Java

 BottomAppBar bottomAppBar = ...
HideBottomViewOnScrollBehavior behavior = (HideBottomViewOnScrollBehavior) bottomAppBar.behavior;
behavior.slideDown(bottomAppBar) // use this to hide it
behavior.slideUp(bottomAppBar) // use this to show it

关于android - 如何以编程方式显示/隐藏 BottomAppBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51456312/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com