2017-08-17 53 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

相關問題