相关疑难解决方法(0)

在ItemAnimator上为RecyclerView禁用onChange动画

我使用的是RecyclerView一个SortedList使用a的数据SortedListAdapterCallback.我想禁用onChange事件的动画,但保留它们为onInserted/ onRemoved/ onMoved.我曾尝试调用setSupportsChangeAnimations(false)DefaultItemAnimator使用的RecyclerView,但动画仍然出现.如果我调用setItemAnimator(null) 所有动画都按预期成功删除了.

我试着查看实现,看起来似乎supportsChangeAnimationstrue,RecyclerView通过保持旧的viewHolder并将其交叉淡入到新的viewHolder ,将动画更改事件.我不希望这样.如果supportsChangeAnimationsfalse,新老viewHolders然而,将相同的对象,而且会有替代地是onMoved动画从x到x(即没有实际移动).然而,这意味着该项目将产生令人讨厌的反弹效果.我也不想要那个,我根本不需要动画.:(

来自DefaultItemAnimator.java:

@Override
public boolean animateChange(ViewHolder oldHolder, ViewHolder newHolder,
        int fromX, int fromY, int toX, int toY) {
    if (oldHolder == newHolder) {
        // Don't know how to run change animations when the same view holder is re-used.
        // run a move animation …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-recyclerview

7
推荐指数
3
解决办法
5951
查看次数

在recyclerview中重点关注刷新

伙计我正在开发Android TV应用程序,所以我在水平和垂直方向使用了recyclerview,我使用了一个方法来刷新垂直recyclerview的适配器,使用adapter.notifyDataSetChanged(),但我遇到了一个问题.1.它的焦点已经消失并且按下任何D-pad键它不能正常工作键正在工作2.我使用了adapter.notifyItemRangeChanged(0,categoryDataList.size())但我还有一个问题,它的重点是继续布局的第一个元素,否则布局的最后一个.所以请尽快帮助我.提前致谢.

android

6
推荐指数
2
解决办法
3095
查看次数