2017-05-09 15 views
-2

tabbedActivityのナビゲーションドリルに問題があります。タブ付きアクティビティでナビゲーションドロワーのデザインが正しくない

私がそういうことができるのであれば、デザインの問題があります。 私は、ナビゲーション引き出しを開くと、私は彼がこの(これは私のアプリのもう一つの活動である)のように開くことを希望:

Good_design

しかし、その代わりに、それは私のタブ付きアクティビティでは、このように開きます:

enter image description here

ナビゲーション・ドロワーを下に移動して、自分の活動のタイトルを切らないようにするにはどうすればよいですか?

私の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" 
fitToSystemWindows="true" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

<LinearLayout 
    android:id="@+id/content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:theme="@style/ToolBarStyle" 
     android:background="@color/colorPrimary" /> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:elevation="5dp" 
      app:theme="@style/ToolBarStyle" 
      app:layout_scrollFlags="scroll|enterAlways" 
      tools:ignore="UnusedAttribute" /> 

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"> 

    </android.support.v4.view.ViewPager> 

</LinearLayout> 

<android.support.design.widget.NavigationView 
    android:layout_width="wrap_content" 
    android:layout_height="200dp" 
    android:layout_gravity="start" 
    android:id="@+id/menu_navigation" 
    app:menu="@menu/navigation_menu"></android.support.design.widget.NavigationView> 

+0

あなたはコードで私の更新の質問を確認することができ、それはまだ動作しませんXML –

+0

でDrawerLayout用=「true」をfitToSystemWindowsを与えてください? – David

答えて

3

あなたはdrawerLayoutの外にツールバーを移動する必要があります。 ツールバーが親としてdrawerLayoutを持っているので、そのように表示されます。

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       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.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:theme="@style/ToolBarStyle" 
    android:background="@color/colorPrimary"/> 
<android.support.v4.widget.DrawerLayout 
    android:layout_below="@+id/toolbar" 
    android:id="@+id/drawerLayout" 
    fitToSystemWindows="true" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

    <LinearLayout 
     android:id="@+id/content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 


     <android.support.design.widget.AppBarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <android.support.design.widget.TabLayout 
       android:id="@+id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:elevation="5dp" 
       app:theme="@style/ToolBarStyle" 
       app:layout_scrollFlags="scroll|enterAlways" 
       tools:ignore="UnusedAttribute"/> 

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

     <android.support.v4.view.ViewPager 
      android:id="@+id/container" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1"> 

     </android.support.v4.view.ViewPager> 

    </LinearLayout> 

    <android.support.design.widget.NavigationView 
     android:layout_width="wrap_content" 
     android:layout_height="200dp" 
     android:layout_gravity="start" 
     android:id="@+id/menu_navigation" 
     app:menu="@menu/navigation_menu"></android.support.design.widget.NavigationView> 

</android.support.v4.widget.DrawerLayout> 
</RelativeLayout> 
+0

どうすればいいですか?私のXMLファイルを修正できますか?私はそれを作ったように私は引き出しの内側を動かすことができないので... – David

+0

は答えを更新しました。 –

+0

ありがとうございます!あなたが正しい答えを正解してください!乾杯 – David

0
<android.support.design.widget.NavigationView 
    android:layout_width="wrap_content" 
    android:layout_height="200dp" 
    android:layout_gravity="start" 
    android:layout_marginTop="@dimen/some_margin" 
    android:id="@+id/menu_navigation" 
    app:menu="@menu/navigation_menu" /> 

あなたNavigationView

+0

これは実際に何か変わったが、私のメニューは中央に開かれた – David

+0

私はちょうどあなたが投稿したものに上の余白を追加しました。あなたはそれを正しく実装する必要があります。 –

0

に余裕のトップを追加するには、ナビゲーションビューにこの変更を行います。

<android.support.design.widget.NavigationView 
android:layout_marginTop="?android:attr/actionBarSize" 
android:layout_width="wrap_content" 
android:layout_height="200dp" 
android:layout_gravity="start" 
android:id="@+id/menu_navigation" 
app:menu="@menu/navigation_menu"> 

関連する問題