
如果文本出现在相应图标的下方,而图标均匀分布,那就更好了。目前,这些项目显示为横向堆叠模式。
当前实施:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_nav_bar"
style="@style/Widget.MaterialComponents.BottomNavigationView.Colored"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:itemIconTint="@color/selector_icon_tint_bottom_nav"
app:itemTextColor="@color/selector_icon_tint_bottom_nav"
app:labelVisibilityMode="labeled"
app:menu="@menu/bottom_nav" />发布于 2019-12-27 14:33:41
尝试这个,我希望它将work.Its为我工作
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<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"
android:background="@color/colorPrimary"
app:labelVisibilityMode="labeled"
app:itemIconTint="@color/white"
app:itemTextColor="@color/white"
app:menu="@menu/bottom_navigation_menu" />
</FrameLayout>在res下创建一个菜单目录,并在该目录中创建一个XML布局
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home"
android:title="Home" />
<item
android:id="@+id/navigation_profile"
android:icon="@drawable/ic_profile"
android:title="Profile" />
<item
android:id="@+id/navigation_about"
android:icon="@drawable/ic_aboutUs"
android:title="About Us" />
<item
android:id="@+id/navigation_logout"
android:icon="@drawable/ic_logout"
android:title="Logout" />
</menu>在主活动中,实现BottomNavigationView.OnNavigationItemSelectedListener并实现其所有方法,然后您可以对每个图标执行您想要的操作
bottomNavigationView = findViewById(R.id.bottom_navigation_view);
bottomNavigationView.setOnNavigationItemSelectedListener(this);
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
Toast.makeText(this, "Home", Toast.LENGTH_SHORT).show();
return true;
case R.id.navigation_profile:
Toast.makeText(this, "Profile", Toast.LENGTH_SHORT).show();
return true;
case R.id.navigation_about:
Toast.makeText(this, "About Us", Toast.LENGTH_SHORT).show();
return true;
case R.id.navigation_logout:
Toast.makeText(this, "Logout", Toast.LENGTH_SHORT).show();
return true;
}
return false;
}编辑:有关视频教程,您也可以查看此教程(https://www.youtube.com/watch?v=oeKtwd1DBfg)
https://stackoverflow.com/questions/59496795
复制相似问题