android 导航栏 布局
时间: 2023-10-01 22:03:46 浏览: 85
Android 导航栏通常有两种布局方式:底部导航栏和顶部导航栏。下面是两种布局方式的实现方法:
1. 底部导航栏布局:
使用 `BottomNavigationView` 控件可以很方便地实现底部导航栏布局。在 XML 布局文件中添加 `BottomNavigationView` 控件并设置菜单项,如下所示:
```xml
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:menu="@menu/bottom_navigation_menu" />
```
在代码中为 `BottomNavigationView` 设置菜单项的点击事件:
```java
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.action_home:
// 处理点击首页菜单项的事件
break;
case R.id.action_discover:
// 处理点击发现菜单项的事件
break;
case R.id.action_me:
// 处理点击我的菜单项的事件
break;
}
return true;
}
});
```
2. 顶部导航栏布局:
使用 `Toolbar` 控件可以很方便地实现顶部导航栏布局。在 XML 布局文件中添加 `Toolbar` 控件并设置标题和菜单项,如下所示:
```xml
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:title="My App">
<Menu
android:id="@+id/menu"
app:showAsAction="never"
app:menu="@menu/toolbar_menu" />
</androidx.appcompat.widget.Toolbar>
```
在代码中为 `Toolbar` 设置菜单项的点击事件:
```java
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_search:
// 处理点击搜索菜单项的事件
break;
case R.id.action_settings:
// 处理点击设置菜单项的事件
break;
}
return true;
}
});
```
阅读全文