0

ich diesen Code für Navigationsleiste verwendenAndroid: Top NavigationView Inhalt weg

<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:id="@+id/nav_view" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_gravity="start" 
      android:fitsSystemWindows="true" 
      android:visibility="visible"> 
      <include 
       layout="@layout/menu" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 

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

menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    tools:context="ir.app.ir.live24.MainActivity" 
    android:clickable="false" 
    android:gravity="center" 
    android:background="#fff"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Text" 
      android:id="@+id/textView3" 
      android:textColor="#000" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Text" 
      android:id="@+id/textView4" 
      android:textColor="#000" 
      android:layout_weight="0.5" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Text" 
      android:id="@+id/textView5" 
      android:textColor="#000" /> 
    </LinearLayout> 
</RelativeLayout> 

Im Hinblick android Studioarbeit richtig: http://i65.tinypic.com/wtvu4k.jpg

Aber Gerät nach Start, Top-Menü ist weg: http://i68.tinypic.com/2nu0ub5.jpg

Nächstes Problem: anklickbar nicht für Menü

arbeiten Bitte helfen Sie mir

Antwort

1

# Problem 1: nach oben Menü gegangen ist.

1.android:paddingTop="24dp" zu menu Behälter RelativeLayout hinzufügen TextView das top Menü zu zeigen.

2.android:background="?attr/selectableItemBackground" zu TextView Fügen Sie den ripple effect wenn click auf sie zu zeigen.

Aktualisieren Sie Ihre menu.xml wie folgt:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:clickable="false" 
    android:gravity="center" 
    android:paddingTop="24dp" 
    android:background="#fff"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:padding="16dp" 
      android:text="New Text" 
      android:textColor="#000" 
      android:background="?attr/selectableItemBackground"/> 

     <TextView 
      android:id="@+id/textView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="16dp" 
      android:text="New Text" 
      android:textColor="#000" 
      android:layout_weight="0.5" /> 

     <TextView 
      android:id="@+id/textView5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="16dp" 
      android:text="New Text" 
      android:textColor="#000" 
      android:background="?attr/selectableItemBackground"/> 
    </LinearLayout> 
</RelativeLayout> 

FYI, ich habe android:padding="16dp" alle Textview in dem Nachspiel richtige Einzüge zu geben.

# Problem 2: Clickable funktioniert nicht für das Menü.

Set onClick Zuhörer TextViewclick Ereignisse zu behandeln:

// From Activity onCreate() method 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    ........................ 
    ............................... 

    TextView textView3 = (TextView) findViewById(R.id.textView3); 

    textView3.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 

OUTPUT:

enter image description here

Hope this helfen ~

1

Sie sollten nicht Menü-Layout hinzufügen: in navigationView können Sie Menü directly..using app:menu="@menu/menu_navigation"

Verwendung dieses Layout hinzufügen:

<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/menu" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     app:menu="@menu/menu_navigation" //menu items in drawer 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     android:visibility="visible"></android.support.design.widget.NavigationView> 

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

jetzt in res/Menü/menu_navigation die Menüpunkte wie hinzufügen:

Hier

ist das komplette Example

+0

nicht, daß ich im Menü Gruppe verwenden und Artikel. Ich möchte lineares Layout verwenden. kann ich ? –

+0

sehen Sie dies: http://StackOverflow.com/Questions/30626324/Navigationview-and-custom-layout ..es kann helfen – rafsanahmad007

+0

Ich überprüfe es. Diese Antwort fügt ein lineares Layout in

Verwandte Themen