当我的 RecyclerView 高度为
wrap_content
时,如下
<android.support.v7.widget.RecyclerView
android:id="@+id/myRecyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
结果如下。
这是因为调整大小发生在动画之前。
有没有办法强制它先动画然后只调整大小?
几年后,但希望这能帮助其他面临同样问题的人。
针对这种情况的解决方法(不涉及直接操作动画)是将
android:clipChildren="false"
设置为 RecyclerView 的父级,并在 RecyclerView 上设置 android:clipToPadding="false"
。
这将允许从 RecyclerView 外部滑动的项目在 RecyclerView 高度已经调整大小时保持可见。
注意:这取决于 RecyclerView 的布局父级是否为
match_parent
,如果不是,则还必须将 android:clipChildren="false"
属性添加到后续父级,直到高度设置为 的父级match_parent
,否则其中每一个的行为都将与 RecyclerView 本身完全相同,并隐藏从其可用高度之外进行动画处理的项目。