2016-07-29 85 views
0

我正在首次測試具有材質設計庫的新導航抽屜的應用程序。Android導航抽屜選定項目全部覆蓋

我的問題是,當我選擇一個項目,然後包括圖標在內的整個選定項目被完全覆蓋,如下圖所示。 這可能是我的錯誤嗎?我嘗試了幾件事,取得了成功。

enter image description here

enter image description here

這與抽屜式導航欄的XML:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 
    <include 
     layout="@layout/app_bar_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" 
     /> 
</android.support.v4.widget.DrawerLayout> 

回答

0
<include 
     layout="@layout/app_bar_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="200dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:divider="#FFFFFF" 
     android:fitsSystemWindows="true" 
     android:background="@drawable/side_nav_bar" 
     app:itemTextColor="#FFFFFF" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" 
     app:itemBackground="@drawable/drawer_item_background" 
     /> 
在@佈局

/nav_header_main您可以創建XML文件包含導航抽屜頭部分。

爲drawer_item_background-- 創建繪製文件夾的XML文件,並粘貼如下代碼:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/colorPrimary" /> 
     </shape> 
    </item> 

    <item android:top="-2dp" android:right="-2dp" android:left="-2dp"> 
     <shape> 
      <solid android:color="@android:color/transparent" /> 
      <stroke 
       android:width="1dp" 
       android:color="#48607B" /> 
     </shape> 

    </item> 

</layer-list> 

應用:菜單包含有對抽屜式導航菜單項。 這可能是這個樣子:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <group android:checkableBehavior="single"> 
     <item 
      android:id="@+id/nav_dashboard" 
      android:title="Dashboard" /> 
     <item 
      android:id="@+id/nav_my_m3_account" 
      android:title="@string/my_account_fragment" /> 
     <item 
      android:id="@+id/nav_notification_settings" 
      android:title="Notification Settings" /> 

     <item 
      android:id="@+id/nav_faq" 
      android:title="FAQ" /> 
     <item 
      android:id="@+id/nav_terms_condition" 
      android:title="Terms &amp; Conditions" /> 
     <item 
      android:id="@+id/nav_privacy_policy" 
      android:title="Privacy Policy" /> 
     <item 
      android:id="@+id/nav_logout" 
      android:title="Log Out" /> 

    </group> 
</menu> 
+0

沒有幫助。現在所有項目都有背景顏色。 我的問題是,當一個項目被選中,比我看不到選擇下的圖標和文本。 – egmontr

0

儘量減少外部庫後,我發現這個庫是問題:

it.sephiroth.android.library.targettooltip

但我不知道如何修復它。所以我會刪除這個庫。