2016-05-05 6 views
0

Ich havd eine Activity, die eine TextView hat, und ich wollte eine Navigationsschublade zu diesem Activity hinzufügen. Also habe ich meine XML geändert und DrawerLayout implementiert.DrawerLayout funktioniert nicht und blockiert nicht verwandte Widgets

Nach der Implementierung des DrawerLayout es einfach nicht funktioniert (was bedeutet, es nicht öffnen) und die FrameLayout innerhalb der DrawerLayout Blöcke implementiert die nicht im Zusammenhang mit dem DrawerLayoutTextView Text.

drawer.xml:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context="com.dl.master.lyrics.lyricsmaster.LyricsActivity" 
    android:id="@+id/drawer_layout_id" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


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

     <!-- The main content view where fragments are loaded --> 
     <FrameLayout 
      android:id="@+id/frame_layout_id" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 

     <TextView 
      android:id="@+id/text_tv_id" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      /> 

    </LinearLayout> 


    <!-- The navigation drawer --> 
    <TextView 
     android:layout_width="220dp" 
     android:layout_height="match_parent" 
     android:text="Try me! NOW" 
     /> 

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

<!-- 
<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:id="@+id/text_tv_id" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 

</RelativeLayout> 
--> 

Die TextView innerhalb des LinearLayout ist die nicht im Zusammenhang DrawerLayout Widgets, die nicht gesehen werden kann. Und die andere TextView ist die Navigationsschublade TextView. Ich weiß, dass das Widget der Navigationsleiste android:layout_gravity="start" Eigenschaft haben muss, aber es hat anscheinend kein Layout Elternteil so wie ich es nicht schreiben lassen.

Beim Ausführen der Activity sehe ich den Text "Versuchen Sie es jetzt" der Navigationsleiste TextView und das ist alles.

DrawerActivity.java:

public class LyricsActivity erweitert AppCompatActivity { privaten Textview Text;

Ich lese die gesamte Dokumentation und eine Menge von SO Post und nichts half mir noch diese Art von Problem angesprochen.

Antwort

1

DrawerLayout bestimmt, welche View S als Schubladen durch ihre layout_gravity Attribut zu verwenden. Fügen Sie dieses Attribut einfach zu Ihrem TextView mit dem entsprechenden Wert hinzu. Zum Beispiel:

<!-- The navigation drawer --> 
<TextView 
    android:layout_width="220dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="left|start" 
    android:text="Try me! NOW" 
/> 
+0

Ich schrieb ich kann nicht. Die 'XML'-Datei kann dieses' TextView' irgendwie nicht als untergeordnete Ansicht des 'DrawerLayout' erkennen. Aber danke für die Antwort. Irgendeine andere Idee? – God

+0

Wie meinst du das? Erhalten Sie einen Fehler? Der Rest des Layouts sieht OK aus. –

+0

Es ist nur nicht aufgefordert, ging ich zu schreiben "Android: Layout_g". Und alle anderen Eigenschaften werden aufgefordert. – God