底部导航栏未显示图标或标题

4

我正在制作一个带有三个项目的底部导航栏应用程序。我尝试着去实现它。代码看起来很好,没有错误,但是它不会显示图标或标签。我查看了其他类似的问题,但没有一个答案是我想要的。

我正在使用Android Studio 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" />
<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>
3个回答

7

试着使用这个

<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"/>

0
寻找名为“label visibility”的属性,并将其设置为整个底部导航栏的真值。

0
如果您前往Android Studio ->文件 ->新建项目 ->底部导航活动,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" />

如果您正在使用Activities来处理3个项目,您可以在Application 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);
}

希望这对你有帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接