2016-11-26 65 views
0

這就是被放在裏面ToolbarLinearLayout轉移到你可以看到正確的...佈局右移

其結果是,在Toolbar不與TabHost疊起來好(這再次在家長Fragment中用Toolbar實施)。

  • 我該如何解決?

佈局草圖(Android Studio中)

enter image description here

實際應用

enter image description here


佈局代碼

<LinearLayout 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" 
      android:orientation="vertical" 
      tools:context="com.android.example"> 


<android.support.v7.widget.RecyclerView 
    android:id="@+id/recview_navigator" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_marginBottom="2dp" 
    android:layout_weight="1"/> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:backgroundTint="@color/accent"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar_navigator" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

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

      <ImageView 
       android:id="@+id/imageView_navigator_up" 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:layout_weight="1" 
       android:src="@drawable/ic_navigate_before_white_48dp" 
       android:tint="@color/recview"/> 

      <ImageView 
       android:id="@+id/imageView_navigator_save" 
       android:layout_width="30dp" 
       android:layout_height="30dp" 
       android:layout_weight="1" 
       android:src="@drawable/ic_save_white_48dp" 
       android:tint="@color/recview"/> 
     </LinearLayout> 
    </android.support.v7.widget.Toolbar> 
</android.support.design.widget.AppBarLayout> 
</LinearLayout> 
+0

如果您不打算使用'AppBarLayout'或'Toolbar'將它們從佈局中移除。 –

回答

4

您是否試過刪除內容插頁?

<android.support.v7.widget.Toolbar`  
    app:contentInsetStart="0dp" 
    app:contentInsetLeft="0dp" 
...> 
+0

是的,它的工作原理。這是我認爲的最佳解決方案。謝謝。 –

1

問題

額外的餘量空間,是因爲toolbar標籤。它的默認空間大約有16dp。這是必需的,以便可以顯示漢堡包,app_icon或up-caret等圖標。

如何解決?

那麼,黑客是包括在toolbar標籤android:layout_marginLeft="-16dp"屬性,但是這可能弄亂佈局,如果向上插入符號(返回按鈕)當孩子活動的情況下,被稱爲或漢堡包圖標顯示一個導航抽屜。

我已經寫了關於此更早here

如果您不打算使用toolbar的功能,那麼最好用以下佈局替換整個appBarLayout

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/colorAccent" 
    android:orientation="horizontal"> 

    <ImageView 
     android:id="@+id/imageView_navigator_up" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:adjustViewBounds="false" 
     android:src="@drawable/ic_navigate_before_white_48dp"/> 

    <ImageView 
     android:id="@+id/imageView_navigator_save" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:src="@drawable/ic_save_black_48dp"/> 
</LinearLayout> 
+0

這個也可以。謝謝。 –