Перекрытие заголовка на значке в BottomNavigationView - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь добавить BottomNavigationView с большими иконками. Тем не менее, он отображается с перекрытием заголовка на значке.

Код:

<com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottomNavigationView"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        app:labelVisibilityMode="labeled"
        app:itemIconSize="50dp"
        app:menu="@menu/bottom_navigation_menu"/>

Я использую библиотеку материалов версии 1.0.0.

enter image description here

Ответы [ 4 ]

0 голосов
/ 05 апреля 2019

Добавьте это в измерениях. Xml:

<dimen name="design_bottom_navigation_height" tools:override="true">80dp</dimen>
0 голосов
/ 22 марта 2019

попробуйте это

<android.support.design.widget.BottomNavigationView
            android:id="@+id/bottom_navigation"
            android:layout_alignParentBottom="true"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:animateLayoutChanges="false"
            android:splitMotionEvents="false"
            android:fitsSystemWindows="false"
            app:itemIconTint="@drawable/bottom_view_color_change"
            app:itemTextColor="@drawable/bottom_view_color_change"
            app:menu="@menu/bottom_navigation_menu
            app:labelVisibilityMode="labeled"/>

в пункте меню

<item
        android:id="@+id/navigation_home_tab"
        android:enabled="true"
        android:icon="@drawable/ic_navigation_home"
        android:title="@string/home"/>

drawable -> @ drawable / bottom_view_color_change

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/selected_color" android:state_checked="true" />
<item android:color="@color/disable_Color" android:state_checked="false" />

0 голосов
/ 22 марта 2019

Попробуйте использовать следующий код.

Для дизайна виджетов BottomNavigationView

<android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_gravity="start"
        android:background="@color/white"
        app:itemIconTint="@drawable/nav_items_color"
        app:itemTextColor="@drawable/nav_items_color"
        app:menu="@menu/navigation"
        android:visibility="visible"/>

Для дизайна материалов BottomNavigationView

<FrameLayout
    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">

  <!-- Main content -->

  <com.google.android.material.bottomnavigation.BottomNavigationView
      android:id="@+id/bottom_navigation"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="bottom"
      android:background="@color/colorPrimary"
      app:itemIconTint="@color/white"
      app:itemTextColor="@color/white"
      app:menu="@menu/bottom_navigation_menu" />

</FrameLayout>

Используйте приведенный ниже метод, чтобы установить желаемый размер нижнего навигационного значка.

private void bottomIconLarge() {
        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);
            final ViewGroup.LayoutParams layoutParams = iconView.getLayoutParams();
            final DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
            layoutParams.height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 42, displayMetrics);
            layoutParams.width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 42, displayMetrics);
            iconView.setLayoutParams(layoutParams);
        }
    }
0 голосов
/ 22 марта 2019

Пожалуйста, используйте android:layout_gravity="bottom", а также wrap_content:

<com.google.android.material.bottomnavigation.BottomNavigationView
  android:id="@+id/bottomNavigationView"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_gravity="bottom"
  app:menu="@menu/bottom_navigation_menu" />

Пожалуйста, не используйте app:itemIconSize="70dp".

Ссылка:

https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigationView.md

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...