2017-04-17 33 views
1

ツールバーが内容と重なっている理由を理解するのに役立つ必要があります。
私はここで、ツールバーのレイアウト、私はそのようにのようなナビゲーション引き出しと、このツールバーを使用
ツールバーの内容が重複しています

toolbar.xml

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:elevation="4dp" 
    android:theme="@style/AppTheme"> 
</android.support.v7.widget.Toolbar> 

を持っています。私はNavigationDrawer.javaを延長しなければならないので、

navigation_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" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="me.jlurena.yougothw.activities.base.NavigationDrawer"> 

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

     <include layout="@layout/toolbar"/> 
    </LinearLayout> 

    <ListView 
     android:id="@+id/nav_list" 
     android:layout_width="200dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="#ffeeeeee"> 
    </ListView> 
</android.support.v4.widget.DrawerLayout> 


最後に、私はNavigationDrawer.javaにツールバーを設定し、私は必要があります他のすべての活動にそれを拡張します。私はそのようにそれを膨らませます

public void inflateBaseLayout(Activity activity, int resLayoutId) { 
     LayoutInflater inflater = 
       (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     // Inflate Navigation Drawer in activity 
     View view = inflater.inflate(resLayoutId, null, true); 
     drawer.addView(view, 0); // Where drawer is the DrawerLayout from navigation_drawer.xml 
    } 

正確に私はツールバーに間違っていますか?

答えて

0

私はそれを修正しました。 DrawerLayoutをルートとして他のコンテンツを上書き(オーバーラップ)するため、DrawerLayoutToolbarLinearLayoutのようなコンテナに入れなければなりませんでした。私はあなたの助けのために、この

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/root_navigation_drawer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <include layout="@layout/toolbar"/> 

    <android.support.v4.widget.DrawerLayout 
     android:id="@+id/drawer" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tools:context="me.jlurena.yougothw.activities.base.NavigationDrawer"> 

     <ListView 
      android:id="@+id/nav_list" 
      android:layout_width="200dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="start" 
      android:background="#ffeeeeee"> 
     </ListView> 
    </android.support.v4.widget.DrawerLayout> 
</LinearLayout> 
1

ListViewをツールバーのインクルードの後に​​LinearLayoutに配置します。それはすべてを順番にもたらすはずです。

+0

感謝に私のnavigation_drawer.xmlを変え

、それは実際のDrawerLayoutについて考えて私を得ました。 – Pants

関連する問題