web-dev-qa-db-fra.com

Menu du tiroir de navigation Élément Titre Couleur dans Android

J'ai un problème pour changer le titre de l'élément de menu Color dans le Navigation Drawer J'ai défini la itemTextColor mais cela ne change que la Color des éléments et non la Title du menu.

Voici mon Activity_main.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"
        app:itemTextColor="#ffffff"
        Android:background="#283135"
        />


</Android.support.v4.widget.DrawerLayout>

activity_main_drawer.xml

<?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_home"
            Android:icon="@mipmap/hospital"
            Android:title="Home"
            />
<item
            Android:id="@+id/nav_reminder"
            Android:icon="@mipmap/alarm"
            Android:title="Reminders" />

    </group>

    <item Android:title="Tools">
        <menu>
            <item
                Android:id="@+id/nav_settings"
                Android:icon="@mipmap/settings"
                Android:title="Settings" />
            <item
                Android:id="@+id/nav_help"
                Android:icon="@mipmap/information"
                Android:title="Help" />
            <item
                Android:id="@+id/nav_about"
                Android:icon="@mipmap/team"
                Android:title="About Us" />
        </menu>
    </item>

</menu>

Vérifie ça: This is the one i am talking about

9
RoyalCediee

Pour donner Menu item titlecolor et textSize Créez de cette façon ..

ajoutez ceci à votre fichier styles.xml.

 <style name="TextAppearance44">
        <item name="Android:textColor">#FF0000</item>
        <item name="Android:textSize">20sp</item>
 </style>

maintenant dans le fichier activity_main_drawer.xml donne idattribute à title ..

<item Android:title="Tools"
       Android:id="@+id/tools">
        <menu>
            <item
                Android:id="@+id/nav_settings"
                Android:icon="@mipmap/settings"
                Android:title="Settings" />
            <item
                Android:id="@+id/nav_help"
                Android:icon="@mipmap/information"
                Android:title="Help" />
            <item
                Android:id="@+id/nav_about"
                Android:icon="@mipmap/team"
                Android:title="About Us" />
        </menu>
    </item>

maintenant, dans le fichier MainActivity.Java, utilisez cette méthode.

 NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);

        Menu menu = navigationView.getMenu();

        MenuItem tools= menu.findItem(R.id.tools);
        SpannableString s = new SpannableString(tools.getTitle());
        s.setSpan(new TextAppearanceSpan(this, R.style.TextAppearance44), 0, s.length(), 0);
        tools.setTitle(s);
        navigationView.setNavigationItemSelectedListener(this);

Cela changera votre toolscolor en Red et TextSize en 20sp .. Mettez-le en œuvre ..

Dans mon cas, sortie:

 enter image description here

27
Ironman

Vous pouvez également définir un nouveau style dans styles.xml:

<style name="NavigationView">
    <item name="Android:textColorSecondary">@color/white</item>
</style>

puis en appliquant ce style dans le thème de NavigationView:

<Android.support.design.widget.NavigationView
        Android:layout_width="wrap_content"
        Android:layout_height="match_parent"
        Android:layout_gravity="start"
        Android:theme="@style/NavigationView" />
11
madim
<style name="AppTheme.NavigationView">
    <item name="Android:textColorSecondary">@color/colorPrimaryDark</item>
    <item name="Android:textSize">20sp</item>
</style>

Définissez textSize si vous souhaitez également modifier la taille du titre.

0
Hanoch Moreno