【问题标题】:Bottom Navigation Icons are Cropped Android底部导航图标被裁剪 Android
【发布时间】:2020-09-23 16:03:54
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: android icons bottomnavigationview


    【解决方案1】:

    尝试更改以下属性的值:-

    app:showAsAction="always" 
    

    如果问题仍然存在,请提供文件 “bnv_tab_item_foreground”

    【讨论】:

      【解决方案2】:

      使用支持库 28。然后,只需将 app:labelVisibilityMode="labeled" 添加到您的 BottomNavigationView XML 声明中。

      希望对你有帮助

      【讨论】:

        【解决方案3】:

        我认为这是由于您的布局不适合系统窗口造成的,您可以通过转到您拥有底部导航的布局轻松解决此问题,然后在根布局添加 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>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-02-10
          • 1970-01-01
          • 1970-01-01
          • 2017-11-27
          • 1970-01-01
          • 2016-12-03
          • 2017-03-30
          相关资源
          最近更新 更多