📅  最后修改于: 2023-12-03 14:54:09.725000             🧑  作者: Mango
底部导航在现代应用程序中变得越来越流行,因此它的实现不再是一个痛苦的过程。许多现成的库、框架和组件已经提供了底部导航的集成。
在这里,我们将介绍一些最流行的底部导航依赖项,以帮助您更快地实现底部导航栏。
BottomNavigationView 是Android Material Design库的一部分。该库提供了一些定制选项,但默认情况下,该库提供的底部导航栏已经可以满足大多数需求了。
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:menu="@menu/bottom_navigation_menu" />
TabLayout 是另一个Google出品的库,它提供了许多定制选项,并允许你创建导航栏和选项卡的自定义组合。它也很容易使用,只需要将其添加到布局文件中,并添加选项卡。
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:tabMode="fixed"
app:tabGravity="fill"
app:tabBackgroundColor="@color/white"
app:tabTextColor="@color/black"
app:tabSelectedTextColor="@color/primary"
app:tabIndicatorColor="@color/primary"
app:tabIndicatorHeight="3dp">
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/about_us" />
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/contact_us" />
</com.google.android.material.tabs.TabLayout>
AHBottomNavigation 是一个流行的第三方库,提供了许多自定义选项,可以使用这些选项来创建独特的导航栏。
<com.aurelhubert.ahbottomnavigation.AHBottomNavigation
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:ah_tab_text_size="12sp"
app:ah_title_state="always_hide"
app:ah_text_alignment="center"
app:ah_behavior_translation_enabled="true"
app:ah_bottom_navigation_notifications="@id/notifications">
<com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem
android:icon="@drawable/ic_home"
android:title="@string/nav_home" />
<com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem
android:icon="@drawable/ic_list"
android:title="@string/nav_list" />
<com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem
android:icon="@drawable/ic_bookmark"
android:title="@string/nav_bookmark" />
<com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem
android:icon="@drawable/ic_profile"
android:title="@string/nav_profile" />
</com.aurelhubert.ahbottomnavigation.AHBottomNavigation>
BoomMenu 是另一个流行的第三方库,提供了许多动画效果和自定义选项。它不仅用于底部导航栏,还可以用于其他类型的菜单和按钮。
<com.nightonke.boommenu.BoomMenuButton
android:id="@+id/bmb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:padding="16dp"
app:boom_in_ordinal="1"
app:boom_out_ordinal="5"
app:boom_background_color="@android:color/transparent"
app:boom_button_color="@android:color/white"
app:boom_button_highlighted_color="@color/primary"
app:boom_place_alignment="top"
app:boom_place_ordinal="5"
app:boom_place_direction="left_to_right"
app:boom_button_shadow_color="#999"
app:boom_button_shadow_radius="6dp">
<com.nightonke.boommenu.BoomButtons.HamButton
android:id="@+id/button_profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:boom ham_text1="@string/nav_profile"
app:boom ham_image="@drawable/ic_profile"
app:boom ham_text_color="@color/black" />
<com.nightonke.boommenu.BoomButtons.HamButton
android:id="@+id/button_friends"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:boom ham_text1="@string/nav_friends"
app:boom ham_image="@drawable/ic_friends"
app:boom ham_text_color="@color/black" />
<com.nightonke.boommenu.BoomButtons.TextOutsideCircleButton
android:id="@+id/button_settings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:boom button_text="@string/nav_settings"
app:boom button_image="@drawable/ic_settings"
app:boom button_text_color="@color/black" />
</com.nightonke.boommenu.BoomMenuButton>
以上是几个常用的底部导航依赖项,根据您的具体需求和技能,您可以选择一个或多个库来实现底部导航栏。