我在协调器视图中有一个recyclerview,recyclelerview位于framelayout的一个片段中,位于appbarlayout下面,这里是布局描述
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:id="@+id/fragmentFrame"
android:layout_height="match_parent"
android:layout_width="match_parent"/>
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_scrollFlags="snap|enterAlways|scroll">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
recyclerView.smoothScrollToPosition(adapter.getItemCount() - 1);
每当我执行smoothscrolltoposition时,它都没有完成滚动,底部有一点偏移,动作条高度的高度。对smoothscrolltoposition的任何后续调用都具有相同的偏移量。但是,如果我执行滚动以隐藏工具栏,那么它没关系,并且没有偏移。
如何强制Recyclerview完全滚动。我和stackFromEnd
一起使用它。
答案 0 :(得分:0)
AppBarLayout 的方法出现在 23 api 版本中:
setExpanded(boolean expanded)
在developers.android上查看其说明:AppBarLayout.setExpanded
我还在GitHub上找到了一个有趣的例子:setExpanded example
尝试执行smoothScrollToPosition时遇到了同样的情况:RecyclerView像往常一样滚动,但AppBarLayout根本没有滚动。我必须手动滚动以隐藏AppBarLayout并滚动到最后一个列表元素。
我希望这个答案能够挽救某一天,我花了很多时间寻找解决方案。