【问题标题】:Recyclerview last item not shown inside coordinator layoutRecyclerview 最后一项未在协调器布局中显示
【发布时间】:2017-03-30 11:31:56
【问题描述】:

我在 recyclerview 中的最后一项没有显示。一旦获得焦点,顶部栏应保持可见。它不应该向上滚动。 我的代码如下:

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/content_parent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="invisible"
    tools:visibility="visible"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:visibility="invisible"
        app:elevation="0dp"
        app:layout_behavior="haygot.togyah.app.newDesign.home.FlingBehaviour"
        tools:visibility="visible"
        android:fitsSystemWindows="true">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/transparent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/transparent"
                android:minHeight="?android:attr/actionBarSize"
                app:contentInsetStart="0dp"
                app:layout_collapseMode="pin">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <android.support.v7.widget.AppCompatImageView
                        android:id="@+id/leaderboard_iv"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:paddingLeft="@dimen/spacing_large"
                        android:src="@drawable/ic_leaderboard_icon" />

                    <haygot.togyah.app.widget.TextView.TextViewPlus
                        android:id="@+id/title"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_centerInParent="true"
                        android:layout_toLeftOf="@+id/doubts"
                        android:layout_toRightOf="@+id/leaderboard_iv"
                        android:alpha="0"
                        android:gravity="center"
                        android:text="What would you like to learn today?"
                        android:textAppearance="@style/CollapsingToolbarTitle" />

                    <android.support.v7.widget.AppCompatImageView
                        android:id="@+id/doubts"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"
                        android:layout_centerVertical="true"
                        android:paddingRight="@dimen/spacing_large"
                        android:src="@drawable/ic_doubt_home" />

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

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"

                app:layout_collapseMode="parallax">

                <android.support.v7.widget.AppCompatImageView
                    android:id="@+id/home_icon"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:background="@drawable/ic_dash_profile_icon"

                    android:visibility="visible" />

                <haygot.togyah.app.widget.TextView.TextViewPlus
                    android:id="@+id/message"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/home_icon"
                    android:layout_marginBottom="@dimen/spacing_36dp"
                    android:layout_marginTop="-20dp"
                    android:gravity="center"
                    android:letterSpacing="-.03"
                    android:lineSpacingExtra="4dp"
                    android:minLines="3"
                    android:textColor="@android:color/white"
                    android:textSize="@dimen/app_text_size_xxxlarge"
                    android:textStyle="bold"
                    app:customFont="@string/font_proxima_nova_bold"
                    tools:text="Hello Anudeep, \n let's learn something\n new today!" />

            </RelativeLayout>

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

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

    <android.support.v7.widget.RecyclerView
        android:nestedScrollingEnabled="true"
        android:id="@+id/subjects_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clipChildren="true"
        android:paddingBottom="@dimen/spacing_small"
        android:paddingLeft="@dimen/spacing_small"
        android:paddingRight="@dimen/spacing_small"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

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

当我向上移动时,回收器中的最后一项是部分可见的。 我应该如何解决这个问题?

【问题讨论】:

    标签: android android-coordinatorlayout


    【解决方案1】:

    确保设置工具栏和折叠工具栏的最小高度:

    <android.support.design.widget.CollapsingToolbarLayout
        android:minHeight="?attr/actionBarSize"
    
        <android.support.v7.widget.Toolbar
            android:minHeight="?attr/actionBarSize"
    

    【讨论】:

    • 完美答案!但我不需要为工具栏设置它,因为我的工具栏有 'android:layout_height="?android:attr/actionBarSize' 所以我只需要为 CollapsingToolbarLayout 设置它
    【解决方案2】:

    使您的AppBarLayout 具有特定高度,将该值保存在dimens.xml 中。并从底部到RecyclerView 应用那么多边距:

    <android.support.v7.widget.RecyclerView
        ...
        android:layout_marginBottom="@dimen/app_bar_height"
        .../>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      • 2018-11-07
      相关资源
      最近更新 更多