📜  底部导航的依赖项 (1)

📅  最后修改于: 2023-12-03 14:54:09.725000             🧑  作者: Mango

底部导航的依赖项

底部导航在现代应用程序中变得越来越流行,因此它的实现不再是一个痛苦的过程。许多现成的库、框架和组件已经提供了底部导航的集成。

在这里,我们将介绍一些最流行的底部导航依赖项,以帮助您更快地实现底部导航栏。

1. BottomNavigationView

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" />
2. TabLayout

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>
3. AHBottomNavigation

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>
4. BoomMenu

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>

以上是几个常用的底部导航依赖项,根据您的具体需求和技能,您可以选择一个或多个库来实现底部导航栏。