2017-08-17 54 views
0

我想更改图标的位置BottomNavigation在Android上查看。 你可以看到下面的相关代码:如何在Android底部导航视图中更改图标的位置?

XML:

<android.support.design.widget.BottomNavigationView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/navigation" 
    android:layout_alignParentBottom="true" 
    android:background="@color/lightBlue" 
    app:itemIconTint="@color/black" 
    app:itemTextColor="@color/black" 
    android:layout_width="match_parent" 
    android:layout_height="56dp" 
    android:layout_gravity="start" 
    app:menu="@menu/bottom_nav_items" /> 

菜单项:

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:id="@+id/menu_polter" 
    android:title="@string/back_polter" 
    android:icon="@drawable/ic_menu_revert" 
    /> 
<item 
    android:id="@+id/menu_nbe" 
    android:title="@string/go_nbe" 
    android:icon="@drawable/icon_arrow_black" 
    android:layout_marginLeft="80dip" 
    /> 
</menu> 

正如你可以在下面的图片中看到,“weiter楚Polterliste“和”weiter zur Holzerfassung“位于Bottom Navigation的中心。 你能告诉我怎样才能改变位置在左侧和右侧。 “weiter zur Polterliste”在左侧,右侧是“weiter zur Holzerfassung”。 enter image description here

+0

你可以做到这一点在Java文件活动 –

+0

的菜单布局的帮助,你可以显示你想要的图像 – g7pro

+0

@GT我添加了图片。但这是目前的结果。我想更改左右两侧的图标。 – Sohrab

回答

2

我建议你使用tablayout或其他一些布局而不是BottomNavigationView,因为它仅支持菜单和菜单项不能设置可绘制向左或向右

<android.support.design.widget.BottomNavigationView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/navigation" 
     android:layout_width="match_parent" 
     android:layout_height="56dp" 
     android:layout_alignParentBottom="true" 
     android:background="@color/red"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="left|center_vertical" 
      android:drawableLeft="@drawable/ic_menu_send" 
      android:gravity="center" 
      android:padding="10dp" 
      android:text="ABC" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right|center_vertical" 
      android:gravity="center" 
      android:drawableRight="@drawable/ic_menu_send" 
      android:padding="10dp" 
      android:text="DEF" /> 
    </android.support.design.widget.BottomNavigationView> 

这可满足您还集ID seperately如果下面编码快乐

任何疑问,意见
0

尝试要创建从右到左菜单中,您只需要添加机器人:的layoutDirection =“RTL”的菜单标签

安卓的layoutDirection = “RTL”

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:gravity="end" 
     android:layoutDirection="rtl" 
     android:layout_gravity="end"> 

     <group android:checkableBehavior="single" 
      android:layout_gravity="end" 
      android:gravity="end"> 

      <item 
       android:id="@+id/menu_polter" 
       android:title="@string/back_polter" 
       android:gravity="end" 
       android:layout_gravity="end" 
       android:icon="@drawable/ic_menu_revert"/> 
      <item 
       android:id="@+id/menu_nbe" 
       android:title="@string/go_nbe" 
       android:gravity="end" 
       android:layout_gravity="end" 
       android:icon="@drawable/icon_arrow_black" 
       android:layout_marginLeft="80dip" 
    /> 

    </menu> 

你可以看到这里的源: http://developer.android.com/reference/android/util/LayoutDirection.html#LTR

API 17岁以上

+0

它不起作用。 – Sohrab

相关问题