Saltar al contenido

¿Cómo puedo cambiar el tamaño del texto del elemento de NavigationView?

Solución:

Crea un nuevo estilo en el archivo app/src/main/res/values/styles.xml

<style name="NavigationDrawerStyle">

        <item name="android:textSize">20sp</item><!-- text size in menu-->

        <!-- item size in menu-->
        <item name="android:listPreferredItemHeightSmall">40dp</item>
        <item name="listPreferredItemHeightSmall">40dp</item>

        <!-- item padding left in menu-->
        <item name="android:listPreferredItemPaddingLeft">8dp</item>
        <item name="listPreferredItemPaddingLeft">8dp</item>

        <!-- item padding right in menu-->
        <item name="android:listPreferredItemPaddingRight">8dp</item>
        <item name="listPreferredItemPaddingRight">8dp</item>
    </style>

Agrégalo a tu main_layout.xml

  <android.support.design.widget.NavigationView
       ...
        app:theme="@style/NavigationDrawerStyle"
       ....>


    </android.support.design.widget.NavigationView>

Todos los parámetros de los elementos de navegación (que puede cambiar) se encuentran aquí (ruta al archivo ...sdkextrasandroidsupportdesignreslayoutdesign_navigation_item.xml )

design_navigation_item.xml

<android.support.design.internal.NavigationMenuItemView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="?attr/listPreferredItemHeightSmall"
    android:paddingLeft="?attr/listPreferredItemPaddingLeft"
    android:paddingRight="?attr/listPreferredItemPaddingRight"
    android:drawablePadding="@dimen/navigation_icon_padding"
    android:gravity="center_vertical|start"
    android:maxLines="1"
    android:fontFamily="sans-serif-thin"
    android:textSize="22sp"
    android:textAppearance="?attr/textAppearanceListItem" />

También puedes anular *.xml archivo (copiar archivo de ...sdkextrasandroidsupportdesignreslayoutdesign_navigation_item.xml), solo en tu app/src/main/res/layout carpeta crea un diseño con el mismo nombre design_navigation_item.xml.

Todos los diseños que pueden anularse se encuentran aquí ...sdkextrasandroidsupportdesignreslayout

design_layout_snackbar.xml
design_layout_snackbar_include.xml
design_layout_tab_icon.xml
design_layout_tab_text.xml
design_navigation_item.xml
design_navigation_item_header.xml
design_navigation_item_separator.xml
design_navigation_item_subheader.xml
design_navigation_menu.xml

[UPDATE] Cada versión de com.android.support:design-{version} lib tiene diferentes elementos para anular. Compruebe todo lo que necesita en

ingrese la descripción de la imagen aquí

[UPDATE 04/14/2020]

Si esta usando com.google.android.material.navigation.NavigationView
luego abra la clase y verá:

public NavigationView(@NonNull Context context, @Nullable AttributeSet attrs) {
    this(context, attrs, R.attr.navigationViewStyle);
  }

Entonces puedes usar attr navigationViewStyle para configurar su propio estilo para NavigationView a través del tema de su aplicación:

NB: el tema principal de AppTheme debería ser Theme.MaterialComponents

    <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
   ...
<item name="navigationViewStyle">@style/AppNavigationViewStyle</item>
   ...
    </style>

<style name="AppNavigationViewStyle" parent="Widget.MaterialComponents.NavigationView">
        <item name="itemTextAppearance">@style/AppNavigationViewItemTextAppearance</item>
   </style>
<style name="AppNavigationViewItemTextAppearance" parent="@style/TextAppearance.MaterialComponents.Subtitle2">
         <item name="android:textSize">18sp</item>
   </style>

Simplemente abra el tema principal para ver todo <item name attrs para anular

Desde Android Support Library 22.2.1, Google ha cambiado el tamaño de texto predeterminado de los elementos en NavigationView de 16 a 14 sp, que se adapta bien a las directrices de Material Design. Sin embargo, en algunos casos (por ejemplo, cuando desea admitir el idioma chino), parece que un tamaño de texto más grande es mejor. La solución es simple:

  1. agregar app:theme="@style/yourStyle.Drawer" para usted NavigationView en su layout.xml
  2. en styles.xml, agregue android:textSize="16sp" de moda yourStyle.Drawer

Puede personalizar todo, desde el color del texto hasta el tamaño y la fuente en su estilo.xml

<style name="NavDrawerTextStyle" parent="Base.TextAppearance.AppCompat">
    <item name="android:textColor">@color/colorPrimaryDark</item>
    <item name="android:textSize">16sp</item>
    <item name="android:textStyle">bold</item>
</style>

y luego en tu NavigationView:

<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">

<android.support.design.widget.NavigationView
    ...
    android:itemTextAppearance="@style/NavDrawerTextStyle"
     />

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *