取消选择并规范化默认菜单项选择

aurhwmvo  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(337)

正如你在下面的图片上看到的,我很难弄清楚如何取消选择第一个菜单项,因为它在默认情况下是活动的 BottomNavigationView .
我什么都试过了,但第一道菜还没上来。
java代码。

public class MainActivity extends AppCompatActivity {  

 private BottomNavigationView bottomNavigationView;

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

        bottomNavigationView = (BottomNavigationView)findViewById(R.id.bottomNavigation);
        bottomNavigationView.setBackground(null);
        bottomNavigationView.getMenu().setGroupCheckable(0, false, true);
        bottomNavigationView.setElevation(0);
        //bottomNavigationView.setSelectedItemId(R.id.menu2);

    }
}

主xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.google.android.material.bottomappbar.BottomAppBar
        android:id="@+id/main_bottom_appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:fabCradleMargin="10dp"
        app:fabCradleRoundedCornerRadius="10dp"
        app:fabCradleVerticalOffset="10dp">

        <com.google.android.material.bottomnavigation.BottomNavigationView
            android:id="@+id/bottomNavigation"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginEnd="16dp"
            android:background="@android:color/transparent"
            app:menu="@menu/main_bottom_menu"
            />

    </com.google.android.material.bottomappbar.BottomAppBar>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        app:backgroundTint="@color/_Surface"
        app:tint="@color/_OnSurface"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/dashboard_24"
        app:layout_anchor="@+id/main_bottom_appbar"/>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

如果您对如何规范菜单上的菜单项有任何想法 BottomNavigationView ,我将非常感谢您的帮助。
谢谢。

5t7ly7z5

5t7ly7z51#

尝试将其添加到main.xml中的bottomnavigationview中

app:labelVisibilityMode="unlabeled"

所以你的观点是这样的:

<com.google.android.material.bottomnavigation.BottomNavigationView
            android:id="@+id/bottomNavigation"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginEnd="16dp"
            android:background="@android:color/transparent"
            app:menu="@menu/main_bottom_menu"
            app:labelVisibilityMode="unlabeled"
            />

您可以在此处查看有关允许对视图进行哪些更改的详细信息:https://material.io/components/bottom-navigation/android#using-底部导航

9udxz4iz

9udxz4iz2#

public static void setCheckable(BottomNavigationView view, boolean checkable) {
    final Menu menu = view.getMenu();
    for(int i = 0; i < menu.size(); i++) { // Your Menu 0 
        menu.getItem(i).setCheckable(checkable);
    }
}

因为相关菜单是0,所以您可以按照0排列代码。

相关问题