如何从底部导航中删除标题

开发者90

我查看了stackoverflow,并找到了有关如何从默认设置中删除动画的解决方案bottom navigation.

现在我需要从底部导航中删除标题。我在底部导航xml文件的标题中设置了空字符串,但它不会改变图像的位置。我正在使用 v27

bottom navigation.删除文本后,我需要将图像居中

这是我的代码。

 //OnCreate 

        BottomNavigationViewHelper.removeShiftMode(bottomNavigationView);

MainActivity 中的静态类

public static class BottomNavigationViewHelper {
    @SuppressLint("RestrictedApi")
    public static void removeShiftMode(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);
                //noinspection RestrictedApi
                item.setShiftingMode(false);
                // set once again checked value, so view will be updated
                //noinspection RestrictedApi
                item.setChecked(item.getItemData().isChecked());
            }
        } catch (NoSuchFieldException e) {
            Log.e("BottomNav", "Unable to get shift mode field", e);
        } catch (IllegalAccessException e) {
            Log.e("BottomNav", "Unable to change value of shift mode", e);
        }
    }
}
福帕斯

我使用以下代码的变体来自定义BottomNavigationView基本上是 TextViews的标签

private void removeBottomNavigationLabels(BottomNavigationView bottomNavigationView) {
    for (int i = 0; i < bottomNavigationView.getChildCount(); i++) {
        View item = bottomNavigationView.getChildAt(i);

        if (item instanceof BottomNavigationMenuView) {
            BottomNavigationMenuView menu = (BottomNavigationMenuView) item;

            for (int j = 0; j < menu.getChildCount(); j++) {
                View menuItem = menu.getChildAt(j);

                View small = menuItem.findViewById(android.support.design.R.id.smallLabel);
                if (small instanceof TextView) {
                    ((TextView) small).setVisibility(View.GONE);
                }
                View large = menuItem.findViewById(android.support.design.R.id.largeLabel);
                if (large instanceof TextView) {
                    ((TextView) large).setVisibility(View.GONE);
                }
            }
        }
    }

    BottomNavigationMenuView menuView = (BottomNavigationMenuView) bottomNavigationView.getChildAt(0);
    for (int i = 0; i < menuView.getChildCount(); i++) {
        final View iconView = menuView.getChildAt(i).findViewById(android.support.design.R.id.icon);
        iconView.setPadding(0, 40, 0, 0);
        ViewGroup.LayoutParams layoutParams = iconView.getLayoutParams();
        DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
        layoutParams.height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 32, displayMetrics);
        layoutParams.width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 32, displayMetrics);
        iconView.setLayoutParams(layoutParams);
    }
}

你可以这样称呼它:

removeBottomNavigationLabels(yourBottomNavigationView); 

您也可以尝试类似地更改 TextViews 的可见性、填充或高度。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何删除大标题导航栏的底部边框?

从底部选项卡导航器中删除标题的边框底线。反应导航 v6

如何在Twitter Bootstrap中删除导航栏底部填充

如何在Android中删除底部导航视图的图标动画

如何从登录屏幕中删除底部导航栏

从反应导航中删除标题标题

如何从 backstak 中删除活动并隐藏新 Android 导航组件上的底部导航

Android:从底部导航中删除阴影

如何在Android中继续显示底部导航菜单标题?

标签页和底部导航中的静态标题?

在Android中删除或隐藏标题导航

如何在底部导航栏(颤振)中删除容器的背景颜色?

如何在swift3中删除导航栏的底部阴影

移动底部导航 kotlin 时如何隐藏/删除操作栏中的图标菜单项?

如果使用导航控制器,如何删除某些片段中的底部导航视图和工具栏?

如何在底部导航中换行

如何在我的底部导航栏中添加导航

compose 中的底部导航,如何在 Scoffold/NavGraph 之外导航

如何删除布局组框标题的底部边框?

如何使用“ addOnDestinationChangedListener”删除底部导航和工具栏

在Android中删除底部导航视图文本

如何在颤动中从底部导航栏中删除标签,以便我可以水平居中添加按钮?

如何从DialogFragment中删除标题?

如何从BrowseFragment中删除标题?

如何在导航抽屉中更改标题

如何在标签导航中添加标题?

如何在创建底部标签导航器(反应导航v5)中导航的每个屏幕上添加标题/标题标题?

如何使用嵌套的底部选项卡导航器将导航按钮添加到 React 导航堆栈标题?

如何在反应导航中隐藏标签导航的标题?