写一个Android底部导航栏
时间: 2023-11-10 17:05:45 浏览: 42
在 Android 中,底部导航栏可以使用 BottomNavigationView 来实现。下面是一个简单的示例:
1. 在布局文件中添加 BottomNavigationView:
```
<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. 在 res/menu 文件夹中创建一个菜单文件,例如 bottom_navigation_menu.xml:
```
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home"
android:title="@string/title_home" />
<item
android:id="@+id/navigation_dashboard"
android:icon="@drawable/ic_dashboard"
android:title="@string/title_dashboard" />
<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/ic_notifications"
android:title="@string/title_notifications" />
</menu>
```
3. 在 Activity 或 Fragment 中设置 BottomNavigationView 的监听器,并处理菜单项的点击事件:
```
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);
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;
}
return false;
}
});
```
注意,如果使用了 androidx 库,需要在 build.gradle 中添加以下依赖:
```
implementation 'com.google.android.material:material:1.2.0'
```