📜  android bootom app bar 标签栏 - Java (1)

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

Android Bottom App Bar 标签栏

Android Bottom App Bar 标签栏是一种在 Android 应用程序中常用的界面元素,通常放置在屏幕底部,常常包含多个标签页,用户可以通过点击不同的标签页来切换不同的功能页面。

示例代码

以下是一个简单的 Android 应用程序示例,该应用程序包含一个底部标签栏,其中包含 3 个标签页,分别对应不同的功能页面。

public class MainActivity extends AppCompatActivity {

    private BottomNavigationView bottomNavigationView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        bottomNavigationView = findViewById(R.id.bottomNavigationView);
        bottomNavigationView.setOnNavigationItemSelectedListener(
                new BottomNavigationView.OnNavigationItemSelectedListener() {
                    @Override
                    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                        switch (item.getItemId()) {
                            case R.id.navigation_home:
                                // 切换到主页
                                return true;
                            case R.id.navigation_dashboard:
                                // 切换到仪表盘页
                                return true;
                            case R.id.navigation_notifications:
                                // 切换到通知页
                                return true;
                            default:
                                return false;
                        }
                    }
                });

        // 默认选中第一个标签页
        bottomNavigationView.setSelectedItemId(R.id.navigation_home);
    }
}
底部标签栏的使用
布局文件

在布局文件中,可以使用 android.support.design.widget.BottomNavigationView 控件来创建底部标签栏。

<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottomNavigationView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:menu="@menu/menu_bottom_navigation" />

其中,app:menu 属性指定标签栏所包含的标签页,具体的实现可以参考下一节。

标签页

在菜单文件中,通过添加 <item> 元素来定义底部标签栏中的标签页。例如:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/navigation_home"
        android:icon="@drawable/ic_home_black_24dp"
        android:title="@string/menu_home"
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/navigation_dashboard"
        android:icon="@drawable/ic_dashboard_black_24dp"
        android:title="@string/menu_dashboard"
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/navigation_notifications"
        android:icon="@drawable/ic_notifications_black_24dp"
        android:title="@string/menu_notifications"
        app:showAsAction="ifRoom" />

</menu>

其中,android:id 属性用于标识这个标签页,可以在 Java 代码中使用它来处理用户的点击事件;android:icon 属性用于指定标签的图标;android:title 属性用于指定标签的标题。

设置选中标签

可以使用 bottomNavigationView.setSelectedItemId(R.id.navigation_home) 方法来设置默认选中的标签页。

结论

通过使用 Android Bottom App Bar 标签栏,可以方便地创建一个包含多个功能页面的应用程序,提高用户体验。