2017-09-29 4 views
-2

J'implémente NavigationView dans Android en supprimant toutes les icônes et chaque fois que je sélectionne un élément de la NvavigationView alors la couleur d'arrière-plan de la ligne simple est modifiée, mais ce que je veux, c'est que seule la couleur de fond du texte devrait être changé. Toute aide serait appréciée.NavigationVoir la sélection d'article

Mon code:

<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="220dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:fitsSystemWindows="true" 
    android:focusable="true" 
    android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" 
    android:paddingRight="?android:attr/listPreferredItemPaddingRight" 
    app:headerLayout="@layout/nav_header_navigation_drawer" 
    app:itemBackground="@drawable/drawer_background" 
    app:itemTextAppearance="@style/Drawer" 
    app:menu="@menu/activity_navigation_drawer_drawer" /> 

Mon fichier Drawer.xml:

<style name="Drawer"> 
    <item name="android:scrollbarThumbVertical">@android:color/transparent</item> 
    <item name="android:textSize">30sp</item> 
    <item name="android:typeface">serif</item> 
</style> 

Mon drawer_background.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/drawer_shape" android:state_checked="true"> 

</item> 

Mon drawer_shape.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
    <solid android:color="#FF9800"></solid> 
    <corners android:radius="30dp"></corners> 

+0

vous ajoutez le code ce que vous avez essayé jusqu'ici –

Répondre

0

Ajouter cette ligne à votre drawer_shape.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/bt_pressed_color" 
     android:state_pressed="true" /> 
    <item android:drawable="@drawable/bt_normal_color" /> 
</selector> 

Dans color.XML

<drawable name="bt_pressed_color">@color/appblue</drawable> <!--custom color for pressed state --> 
    <drawable name="bt_normal_color">@color/black</drawable> <!----> 
+0

Je veux seulement que la couleur de fond du textitem soit changée signifie seulement que l'espace est couvert par textitem devrait être coloré ...! –

+0

oh k, puis publiez votre code '@ drawable/drawer_shape'. –

+0

S'il vous plaît vérifier ma réponse mise à jour. –