相关疑难解决方法(0)

如何禁用BottomNavigationView转换模式?

BottomNavigationView不显示不活动的菜单标题.

如何在bottomNavigationBar中显示所有菜单元素的标题?问题是在我的情况下只显示了点击元素的标题.

在此输入图像描述

android android-support-design bottomnavigationview

139
推荐指数
10
解决办法
7万
查看次数

Android新的底部导航栏或BottomNavigationView

看到新的指南出来了,并在google photos最新的应用程序中使用.不知道如何使用新的底部导航栏.通过新的支持lib查看,没有发现任何领先优势.

在此输入图像描述

找不到任何官方样品.

如何使用新的底栏?不想做任何自定义.

android bottomnavigationview

130
推荐指数
7
解决办法
22万
查看次数

BottomNavigationView的自定义TextSize支持android

我想从android支持库25.0.0更改BottomNavigationView的textSize

<android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/colorPrimaryDark"
        android:foregroundTint="@color/colorAccent"
        app:itemIconTint="@android:color/white"
        app:itemTextColor="@android:color/white"
        app:layout_anchor="@id/lyt_container"
        app:layout_anchorGravity="bottom"
        app:itemTextAppearance="@style/TextStyleBNV"
        app:menu="@menu/nav_menu" />

<style name="TextStyleBNV">
        <item name="android:textSize">@dimen/twelve_sp</item>
        <item name="android:padding">0dp</item>
        <item name="textAllCaps">false</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?

android android-support-library androiddesignsupport

40
推荐指数
4
解决办法
3万
查看次数

在没有虚拟项目或反射的情况下取消选中底部导航视图中的所有项目

我正在尝试使用设计库中的 BottomNavigationView。一切正常,除了我希望每个导航项目都开始一个活动,因此我想取消选中导航中的所有项目,使它们看起来相同。我尝试了几种解决方案,其中大部分都不起作用,最后一个确实有效,但感觉很hacky。

首先我这样做:

ViewGroup nav = (ViewGroup) bottomNav;
for(int i=0; i < nav.getChildCount(); i++) {
    nav.getChildAt(i).setSelected(false);
}
Run Code Online (Sandbox Code Playgroud)

这似乎什么也没做。

然后我尝试:

int size = bottomNav.getMenu().size();
for (int i = 0; i < size; i++) {
    bottomNav.getMenu().getItem(i).setChecked(false);
}
Run Code Online (Sandbox Code Playgroud)

这仅检查了最后一项而不是第一项。

最后我尝试在菜单中添加一个虚拟项目并执行以下操作:

bottomNav.getMenu().findItem(R.id.dummmy_item).setChecked(true);
bottomNav.findViewById(R.id.dummmy_item).setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

这几乎有效,但它隐藏了下面的标题,在我的情况下这对上下文很重要。

然后我找到了这个答案:https : //stackoverflow.com/a/41372325/4888701并编辑了我上面的解决方案以包含它。具体来说,我添加了 proguard 规则,我使用了那个确切的帮助器类并调用了该方法。它看起来正确,似乎有效。但对我来说感觉hacky,因为:

  1. 我正在使用一个虚拟菜单项来不允许检查任何可见的项目
  2. 它为应该是一个小的视觉修复添加了相当多的代码。
  3. 我之前读过,如果可能的话,应该避免反射。

有没有其他更简单的方法来实现这一点,或者这是我们当前版本的库中最好的方法?

(作为旁注,我想知道此解决方案中的 proguard 规则是否必要以及它的作用是什么?我对 proguard 一无所知,但该项目是从启用它的其他人那里继承的。)

android android-proguard bottomnavigationview

5
推荐指数
2
解决办法
2318
查看次数