NavigationView no está visible pero el clic de artículo está funcionando

Quiero configurar el navigation drawer con NavigationView . Los elementos no son visibles, pero cuando hacemos clic en el área vacía, se está ejecutando el código de clic de un elemento concreto. Parece que los elementos son invisibles pero se pueden hacer clic.

He intentado jugar con el color de fondo, pero no parece funcionar.

Cualquier ayuda sería apreciada.

Home.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/drawerLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/White" android:fitsSystemWindows="true" tools:context=".Home.HomeActivity"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <include android:id="@+id/tool_bar" layout="@layout/tool_bar" /> <!-- Main Content --> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </LinearLayout> <android.support.design.widget.NavigationView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:background="@color/White"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/White" android:orientation="vertical" android:weightSum="1"> <android.support.design.widget.NavigationView android:id="@+id/NavigationView" android:layout_width="match_parent" android:layout_height="0dp" android:layout_gravity="start" android:layout_weight="1" android:background="@color/White" android:fitsSystemWindows="true" android:scrollbars="none" app:elevation="0dp" app:headerLayout="@layout/navigation_header" app:itemIconTint="@color/YellowOrange" app:itemTextColor="@color/Black" app:menu="@menu/nav_menu" /> <com.squawkinit.orionfreightelite.customview.CustomTextView android:id="@+id/tvAppVersion" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:padding="10dp" android:textColor="@color/Black" android:textSize="14sp" /> </LinearLayout> </android.support.design.widget.NavigationView> </android.support.v4.widget.DrawerLayout> 

Nav_menu.xml (Menú)

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <group android:checkableBehavior="single"> <item android:id="@+id/dashboardMenu" android:title="@string/dashboard_menu" /> <item android:id="@+id/eLogMenu" android:title="@string/eLog_menu" /> <item android:id="@+id/emergencyMenu" android:title="@string/emergency_menu" /> <item android:id="@+id/syncMenu" android:actionLayout="@layout/sync_status" android:title="@string/sync_menu" /> <item android:id="@+id/manifestMenu" android:title="@string/manifest_menu" /> <item android:id="@+id/groupMessagingMenu" android:title="@string/group_messaging_menu" /> <item android:id="@+id/helpMenu" android:title="@string/help_menu" /> <item android:id="@+id/logoutMenu" android:title="@string/logout_menu" /> </group> 

Navigation_header.xml

  <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/White"> <LinearLayout android:id="@+id/navigationHeader" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/accent_material_dark" android:orientation="vertical"> <ImageView android:id="@+id/ivDrawerIcon" android:layout_width="100dp" android:layout_height="100dp" android:layout_marginTop="20dp" android:layout_gravity="center_horizontal" android:src="@drawable/orion_elite_logo" /> <com.squawkinit.orionfreightelite.customview.CustomTextView android:id="@+id/tvDrawerName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textColor="@color/White" android:textSize="16sp" /> <com.squawkinit.orionfreightelite.customview.CustomTextView android:id="@+id/tvDrawerMobile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginBottom="5dp" android:textColor="@color/LightWhite" android:textSize="14sp" /> </LinearLayout> 

CustomTextView

 public class CustomTextView extends TextView { public CustomTextView(Context context) { super(context); // TODO Auto-generated constructor stub if (!isInEditMode()) setCustomFont(context); } public CustomTextView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub if (!isInEditMode()) setCustomFont(context); } public CustomTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub if (!isInEditMode()) setCustomFont(context); } public void setCustomFont(Context ctx) { Typeface tf = Typeface.createFromAsset(ctx.getAssets(), "fonts/DroidSerif_Regular.ttf"); setTypeface(tf); } } 

Tema

  <style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/Black</item> <item name="android:textColorPrimary">@color/Black</item> <item name="android:textColorSecondary">@color/Black</item> <item name="colorAccent">@color/Orange</item> <item name="textColor">@color/Black</item> </style> 

Cajón de navegación

¡¡Finalmente!! Lo hice funcionar.

En navigation_header la altura del diseño raíz debe ser wrap_content lugar de match_parent

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" // This should be wrap_content android:background="@color/White"> <LinearLayout android:id="@+id/navigationHeader" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/accent_material_dark" android:orientation="vertical"> <ImageView android:id="@+id/ivDrawerIcon" android:layout_width="100dp" android:layout_height="100dp" android:layout_marginTop="20dp" android:layout_gravity="center_horizontal" android:src="@drawable/orion_elite_logo" /> <com.squawkinit.orionfreightelite.customview.CustomTextView android:id="@+id/tvDrawerName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textColor="@color/White" android:textSize="16sp" /> <com.squawkinit.orionfreightelite.customview.CustomTextView android:id="@+id/tvDrawerMobile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginBottom="5dp" android:textColor="@color/LightWhite" android:textSize="14sp" /> 

No podía 100% reproducir porque no tengo sus clases personalizadas, pero nested NavigationView me dio un menú que fue compensado por encima de la parte superior.

Entonces, ¿qué hay de la eliminación de la exterior NavigationView, como este?

 <?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/drawerLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/White" android:fitsSystemWindows="true" tools:context=".Home.HomeActivity"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <include android:id="@+id/tool_bar" layout="@layout/tool_bar" /> <!-- Main Content --> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/White" android:orientation="vertical" android:weightSum="1"> <android.support.design.widget.NavigationView android:id="@+id/NavigationView" android:layout_width="match_parent" android:layout_height="0dp" android:layout_gravity="start" android:layout_weight="1" android:background="@color/White" android:fitsSystemWindows="true" android:scrollbars="none" app:elevation="0dp" app:headerLayout="@layout/navigation_header" app:itemIconTint="@color/YellowOrange" app:itemTextColor="@color/Black" app:menu="@menu/nav_menu" /> <com.squawkinit.orionfreightelite.customview.CustomTextView android:id="@+id/tvAppVersion" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:padding="10dp" android:textColor="@color/Black" android:textSize="14sp" /> </LinearLayout> </android.support.v4.widget.DrawerLayout> 
  • Android - Navegación Ver el color del fondo del menú del elemento
  • ¿Cómo diseñar el NavigationView de la biblioteca de soporte de diseño?
  • NavigationView obtener / buscar el diseño del encabezado
  • DrawerLayout, NavigationView y android: Theme.Material.Light no es compatible?
  • Cómo establecer el comportamiento de comprobación compartida en todos los grupos en NavigationView?
  • NavigationView selecciona el elemento seleccionado como
  • ¿Cómo personalizar el fondo del elemento y el color del texto del elemento dentro de NavigationView?
  • ¿Cómo crear un divisor simple en el nuevo NavigationView?
  • Uso de NavigationView desde Android Design Support Library
  • ClassNotFoundException: No encontró la clase "android.support.design.R $ styleable"
  • ¿Cómo cambiar la dirección de los iconos para los elementos del menú en un NavigationView?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.