底部导航视图不显示图标或名称

问题描述 投票:2回答:2

我正在在底部导航栏三个项目的应用程序。我想实现它。该代码看起来不错,没有任何错误,它只是将不显示图标或标签。我看着其他类似的问题,但他们都没有,我正在寻找一个答案。

我采用了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 bottomnavigationview
2个回答
0
投票

如果你去到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);
}

希望这是有帮助的。


0
投票

尝试使用这样的:

<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"/>
© www.soinside.com 2019 - 2024. All rights reserved.