appbar已经过了

时间:2018-02-16 07:56:45

标签: android android-recyclerview android-appbarlayout

我正在创建一个包含多个项目的片段作为卡片。 我无意中最终得到了一个动画appbar,这是最初的 当我滚动卡片时,卡在卡片上并隐藏自己。 我的xml是:

1。片段

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv_recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </android.support.v7.widget.RecyclerView>
</RelativeLayout>

2。回收站布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv_recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </android.support.v7.widget.RecyclerView>
</RelativeLayout>

3。项目布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="100sp" >

    <android.support.v7.widget.CardView
        android:id="@+id/card_view"
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_margin="10dp"
        android:layout_height="100sp"
        card_view:cardCornerRadius="4dp"
        card_view:elevation="14dp">

        <RelativeLayout

         ....
        </RelativeLayout>
   </android.support.v7.widget.CardView>

</RelativeLayout>

我不希望appbar隐藏项目,卡片应该在appbar之后启动。 我在这里做错了什么?

更新 目前,其默认视图为: The default view, when the fragment is activated. See the First Item is covered by the AppBar

如果我滚动,我会:

Appbar is hiding when I scroll, which I dont want. 不幸的是,到目前为止,这些解决方案都没有奏效。 我希望Appbar保持原样,并在其下方滚动项目。但是,在默认视图中,所有项目都应显示在appbar下方。

3 个答案:

答案 0 :(得分:0)

您必须隐藏操作栏并将应用程序设置为全屏。

您可以为onCreate方法中的每个活动执行此操作:

 requestWindowFeature(Window.FEATURE_NO_TITLE);
 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

答案 1 :(得分:0)

将此添加到您的recyclerView

app:layout_behavior="@string/appbar_scrolling_view_behavior"

答案 2 :(得分:0)

您必须将读卡器移动到自己的ScrollView中。

喜欢:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      android:layout_width="match_parent"
      android:layout_height="100sp" >


       <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

           <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:app="http://schemas.android.com/apk/res-auto"
               android:layout_width="match_parent"
               android:layout_height="match_parent" >

                 <android.support.v7.widget.CardView
                 android:id="@+id/card_view"
                 xmlns:card_view="http://schemas.android.com/apk/res-auto"
                 android:layout_width="match_parent"
                 android:layout_margin="10dp"
                 android:layout_height="100sp"
                 card_view:cardCornerRadius="4dp"
                 card_view:elevation="14dp">

          </RelativeLayout>
      </ScrollView>
 </RelativeLayout>