2

我有一個活動,其XML是:動作條覆蓋我的活動

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="ivykoko.com.likechecker.MainActivity"> 

    <android.support.v7.widget.RecyclerView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/reciclador" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:padding="3dp" 
     android:scrollbars="vertical" /> 


    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

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

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


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

它看起來是這樣的:

正如你所看到的,操作欄是覆蓋recyclerview的頂部。我能做什麼?

在此先感謝。

+0

爲什麼這讓你感到驚訝? –

+0

@ tim-castelijns嗯,我是一個成熟的機器人,不知道該怎麼做:S – ivykoko

+0

讓我們先告訴我們你期望看到什麼,以及爲什麼 –

回答

0

<LinearLayout 
    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:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

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

    <android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/reciclador" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:padding="3dp" 
     android:scrollbars="vertical" /> 

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

+5

請添加你已經改變,爲什麼 –

+0

所以,我必須替換我的CoordinatorLayout爲一個的LinearLayout?感謝你的回答。 – ivykoko

+1

只需將我的代碼放入cordiantor佈局即可。發生這種情況是因爲您將屏幕上的回收站視圖與父項參數配對在一起,之後您將工具欄放置在沒有任何位置的位置,因此這兩個組件都位於父級頂部,工具欄覆蓋了回收站視圖。 –

3

添加app:layout_behavior="@string/appbar_scrolling_view_behavior"您RecyclerView。這將導致CoordinatorLayout將其放置在AppBarLayout下方。

1

將Appbar作爲協調器佈局的直接第一個孩子,並在RecyclerView中使用app:layout_behavior="@string/appbar_scrolling_view_behavior"