我正在在底部导航栏三个项目的应用程序。我想实现它。该代码看起来不错,没有任何错误,它只是将不显示图标或标签。我看着其他类似的问题,但他们都没有,我正在寻找一个答案。
我采用了android 3.3的工作室
这里是我的底部导航视图:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
app:menu="@menu/nav_items" />
该nav_items文件
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:icon="@drawable/outline_home_black_18dp"
android:title="@string/nav_home" />
<item
android:icon="@drawable/outline_home_black_18dp"
android:title="@string/nav_search" />
<item
android:icon="@drawable/outline_home_black_18dp"
android:title="@string/nav_account" />
</menu>
如果你去到Android工作室 - >文件 - >新建项目 - >底部导航的活动,有通过Android Studio中,做你的要求工作示例。
为了您的nav_items文件,你可以尝试包括Android IDS象下面这样:
<?xml version="1.0" encoding="utf-8"?>
<item
android:id="@+id/nav0"
android:icon="@drawable/outline_home_black_18dp"
android:title="@string/nav_home" />
<item
android:id="@+id/nav1"
android:icon="@drawable/outline_home_black_18dp"
android:title="@string/nav_search" />
<item
android:id="@+id/nav2"
android:icon="@drawable/outline_home_black_18dp"
android:title="@string/nav_account" />
如果你正在使用你的3项活动,你可以在你的应用程序Java文件中添加以下switch语句:
BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= item -> {
switch (item.getItemId()) {
case R.id.nav0:
Intent intent = new Intent(YourActivity.this, NextActivity.class);
startActivity(intent);
break;
case R.id.nav1:
Intent intent1 = new Intent(YourActivity.this, AnotherActivity.class);
startActivity(intent1);
break;
case R.id.nav2:
Intent intent2 = new Intent(YourActivity.this, AnotherNextActivity.class);
startActivity(intent2);
break;
}
return false;
};
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
// Add below 2 lines for BottomNavigationBar
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.nav_items);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}
希望这是有帮助的。
尝试使用这样的:
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
app:menu="@menu/nav_items"
app:labelVisibilityMode="labeled"/>