我正在使用Android Studio和Android在Botton导航栏上组装一个应用程序。有两个图标看起来还不错,但是当我添加四个图标时,这些图标看起来就被裁剪了。我找不到这样的其他错误。欢迎任何建议。
Cropped icons bottom nav 4 options
这是底部导航(bottom_navigation.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_lines"
android:enabled="true"
android:icon="@drawable/ic_lines_off"
android:title="Lines"
android:background="@android:color/transparent"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_contacts"
android:enabled="true"
android:icon="@drawable/ic_contacts_off"
android:title="Contacts"
android:background="@android:color/transparent"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_conversations"
android:enabled="true"
android:icon="@drawable/ic_conversations_off"
android:title="Conversations"
android:background="@android:color/transparent"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_settings"
android:enabled="true"
android:icon="@drawable/ic_settings_off"
android:title="Settings"
android:background="@android:color/transparent"
app:showAsAction="ifRoom" />
</menu>
在我的activity.xml中,这样调用底部菜单:
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottomNavigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:itemIconTint="@drawable/bnv_tab_item_foreground"
app:itemTextColor="@drawable/bnv_tab_item_foreground"
app:menu="@menu/bottom_navigation" />
问题更新:
我尝试更改
app:showAsAction="ifRoom"
对于
app:showAsAction="always"
它不能解决问题。这个问题没有改变。并且它不会按应有的方式在每个图标中显示标签。仅对所选的一个。
一种解决方法是在活动的底部导航调用中添加一个主题,如下所示:
android:theme="?attr/toolbarNavigationButtonStyle"
我不知道它为什么起作用,但是它显然可以解决许多问题,三星Galaxy Note 8中的设备
这里是“ bnv_tab_item_foreground”
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/colorAccent" />
<item android:color="@android:color/darker_gray" />
</selector>
答案 0 :(得分:0)
尝试更改以下属性的值:-
app:showAsAction="always"
如果仍然存在,则问题仍然存在,请提供文件 “ bnv_tab_item_foreground”
答案 1 :(得分:0)
使用支持库28。然后,只需将app:labelVisibilityMode="labeled"
添加到您的BottomNavigationView
XML声明中即可。
希望这会有所帮助
答案 2 :(得分:0)
我认为这是由于您的布局不适合“系统”窗口所致,您可以通过 具有底部导航的布局 轻松地解决此问题在根布局中添加 android:fitsSystemWindows =“ true” ,就像我在下面所做的那样
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<!--things come here -->
</RelativeLayout>