繁体   English   中英

Android 底部导航视图中的标签

[英]Labels in Bottom Navigation View in Android

我的 android 项目中有一个底部导航栏。 我有 4 个标签,只有第一个“注释”被贴上标签。 对于这些标签,我对每个标签都有一个“意图”。

我有 4 种布局:

  1. 导航笔记
  2. 导航笔记本
  3. 导航高级版
  4. 导航设置

当一个人打开应用程序时,他们会转到 NavigationNotes 布局,但是当这个人选择 Notebooks 时, NavigationNotebooks打开,但 Notes 标签仍处于选中状态。

每当我选择一个标签时,该标签的文本也应该出现,但它不会。

bottom_nav_menu.xml的代码是:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
    android:id="@+id/action_notes"
    android:enabled="true"
    android:icon="@drawable/bottom_notes"
    android:title="Notes"
    app:showAsAction="ifRoom" />

<item
    android:id="@+id/action_notebooks"
    android:enabled="true"
    android:icon="@drawable/bottom_notebook"
    android:title="Notebooks"
    app:showAsAction="ifRoom" />

<item
    android:id="@+id/action_premium"
    android:enabled="true"
    android:icon="@drawable/bottom_premium"
    android:title="Premium"
    app:showAsAction="ifRoom" />

<item
    android:id="@+id/action_settings"
    android:enabled="true"
    android:icon="@drawable/bottom_settings"
    android:title="Settings"
    app:showAsAction="ifRoom" />
</menu>

我的NavigationNotes.java的代码是:

package com.Notely.Notes;

import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.Toast;

import com.Notely.SplashScreenandAccounts.R;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.android.material.bottomnavigation.LabelVisibilityMode;

public class NavigationNotes extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.navigation_notes);

    BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);
    bottomNavigationView.setOnNavigationItemSelectedListener(new 
    BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()) {
                case R.id.action_notes:
                    Intent navigationNotes = new Intent(NavigationNotes.this, NavigationNotes.class);
                    startActivity(navigationNotes);
                    break;
                case R.id.action_notebooks:
                    Intent navigationNotebooks = new Intent(NavigationNotes.this, 
                    NavigationNotebooks.class);
                    startActivity(navigationNotebooks);
                    break;
                case R.id.action_premium:
                    Intent navigationPremium = new Intent(NavigationNotes.this, 
                    NavigationPremium.class);
                    startActivity(navigationPremium);
                    break;
                case R.id.action_settings:
                    Intent navigationSettings = new Intent(NavigationNotes.this, 
                    NavigationSettings.class);
                    startActivity(navigationSettings);
                    break;
            }
            return true;
        }
    });
}
}

我看到您正在使用多个活动。 我建议您使用导航组件。 你想做的事情变得容易多了。 检查文档: https : //developer.android.com/guide/navigation/navigation-ui

    bottomNavigationView.enableAnimation(boolean);
    bottomNavigationView.enableItemShiftingMode(boolean);
    bottomNavigationView.enableShiftingMode(boolean);
    bottomNavigationView.enableItemShiftingMode(boolean);
    bottomNavigationView.enableShiftingMode(boolean);

你应该有类似的功能!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM