【问题标题】:Remove bottom navigation view text in android删除android中的底部导航视图文本
【发布时间】:2017-08-29 15:49:28
【问题描述】:

我为我的应用程序使用底部导航视图,并希望删除图标下的文本。我在互联网上寻找它,但仍然找不到解决方案。有没有人用来处理这个问题,请给我你的解决方案。

我想要的是这样的:

我的代码在这里: 主布局包含一个recyclerview和一个bottomnavigationview:

<LinearLayout
    android:weightSum="10"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.v7.widget.RecyclerView
        android:layout_marginTop="20dp"
        android:layout_weight="8.5"
        android:id="@+id/recyclerview_menu"
        android:layout_width="match_parent"
        android:layout_height="0dp">

    </android.support.v7.widget.RecyclerView>
    <android.support.design.widget.BottomNavigationView
        android:background="@color/whiteColor"
        android:id="@+id/bottom_navigation_bar"
        android:layout_weight="1.5"
        app:menu="@menu/menu_bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="0dp">

    </android.support.design.widget.BottomNavigationView>
</LinearLayout>

这是底部导航菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
    android:id="@+id/action_favorites"
    android:enabled="true"
    android:icon="@drawable/ic_search"
    android:title="Home"
    app:showAsAction="ifRoom" />
<item
    android:id="@+id/action_schedules"
    android:enabled="true"
    android:icon="@drawable/ic_search"
    android:title="Search"
    app:showAsAction="ifRoom" />
<item
    android:id="@+id/action_music"
    android:enabled="true"
    android:icon="@drawable/ic_search"
    android:title="Save"
    app:showAsAction="ifRoom" />
<item
    android:id="@+id/action_me"
    android:enabled="true"
    android:icon="@drawable/ic_search"
    android:title="Me"
    app:showAsAction="ifRoom" />

在 MainActivity 中:

    mBottomBar = (BottomNavigationView) 
    findViewById(R.id.bottom_navigation_bar);
    disableShiftMode(mBottomBar);

    public void disableShiftMode(BottomNavigationView view) {
    BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
    try {
        Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
        shiftingMode.setAccessible(true);
        shiftingMode.setBoolean(menuView, false);
        shiftingMode.setAccessible(false);
        for (int i = 0; i < menuView.getChildCount(); i++) {
            BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
            item.setShiftingMode(false);
            // set once again checked value, so view will be updated
            item.setChecked(item.getItemData().isChecked());
        }
    } catch (NoSuchFieldException e) {
        Log.e("Luan", "Unable to get shift mode field");
    } catch (IllegalAccessException e) {
        Log.e("Luan", "Unable to change value of shift mode");
    }
}

【问题讨论】:

  • 在您当前的代码帖子中发生了什么,如果可能,请发布相关代码
  • 我没有看到任何文字。什么意思
  • 我的意思是我想要的所有东西都像第二张照片。我编辑了我的帖子。
  • 我们需要查看您的代码。
  • 为此,您可以创建一个自定义布局,即采用 LinearLayout(Horizo​​ntal) 并向其中添加 5 个图像,并对所有图像赋予相同的权重。

标签: android bottomnavigationview


【解决方案1】:

将“app:labelVisibilityMode”设置为“无标签”

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:labelVisibilityMode="unlabeled"/>

【讨论】:

  • 这个答案被严重低估了。谢谢!
【解决方案2】:

删除菜单项中的标题。然后将填充从顶部应用到底部导航视图,如下所示

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_favorites"
android:tittle=""
android:enabled="true"
android:icon="@drawable/ic_search"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_schedules"
android:tittle=""
android:enabled="true"
android:icon="@drawable/ic_search"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_music"
android:tittle=""
android:enabled="true"
android:icon="@drawable/ic_search"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_me"
android:tittle=""
android:enabled="true"
android:icon="@drawable/ic_search"
app:showAsAction="ifRoom" />

在底部导航视图中

 <android.support.design.widget.BottomNavigationView
    android:background="@color/whiteColor"
    android:id="@+id/bottom_navigation_bar"
    android:layout_weight="1.5"
    android:paddingTop="16dp"
    app:menu="@menu/menu_bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="0dp">

【讨论】:

  • 添加 android:tittle=""
  • 当然,showAsAction,它让我很烦,图标和文本都没有居中...谢谢!
【解决方案3】:

您需要做的就是在您的 BottomNavigationView 中添加它,然后标题和烦人的动画就消失了 app:labelVisibilityMode="unlabeled"

【讨论】:

    【解决方案4】:

    我找到了解决方案,请检查以下小改动。

    首先改变底部导航菜单xml:

    更新的 xml:

     <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_favorites"
        android:enabled="true"
        android:icon="@drawable/ic_search"
        android:title=""
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/action_schedules"
        android:enabled="true"
        android:icon="@drawable/ic_search"
        android:title=""
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/action_music"
        android:enabled="true"
        android:icon="@drawable/ic_search"
        android:title=""
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/action_me"
        android:enabled="true"
        android:icon="@drawable/ic_search"
        android:title=""
        app:showAsAction="ifRoom" />
    </menu>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多