我正在底部的导航栏中创建一个包含三个项目的应用程序。我尝试实现它。代码看起来不错,没有错误,只是不会显示图标或标签。我看了其他类似的问题,但是没有一个我要找的答案。
我正在使用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" />
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>
答案 0 :(得分:0)
如果您转到Android Studio->文件->新建项目->底部导航活动,那么Android Studio会提供一个满足您要求的有效示例。
对于您的nav_items文件,您可以尝试添加如下所示的android id:
<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" />
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);
}
如果您将Activity用于3个项目,则可以在Application Java文件中添加以下switch语句:
{{1}}
希望这会有所帮助。
答案 1 :(得分: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"/>
答案 2 :(得分:0)
查找名为“label visibility
”的属性并将其在整个底部导航中设为 true