📅  最后修改于: 2023-12-03 14:39:07.579000             🧑  作者: Mango
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 标签栏,可以方便地创建一个包含多个功能页面的应用程序,提高用户体验。