Мне интересно, как я могу избежать маленького белого «мигания» просмотров в режиме recycliew, когда пользователь прокручивается немного быстрее.
Мигания можно избежать, конечно, путем предварительной загрузки большего количества просмотров за пределы видимого экранаAndroid Recyclerview preload views
Я еще ничего не нашел, как это можно сделать, хотя это должно быть довольно распространенная задача?
Я попробовал этот код из блога:
public class PreCachingLayoutManager extends LinearLayoutManager {
private static final int DEFAULT_EXTRA_LAYOUT_SPACE = 600;
private int extraLayoutSpace = -1;
private Context context;
public PreCachingLayoutManager(Context context) {
super(context);
this.context = context;
}
public PreCachingLayoutManager(Context context, int extraLayoutSpace) {
super(context);
this.context = context;
this.extraLayoutSpace = extraLayoutSpace;
}
public PreCachingLayoutManager(Context context, int orientation, boolean reverseLayout) {
super(context, orientation, reverseLayout);
this.context = context;
}
public void setExtraLayoutSpace(int extraLayoutSpace) {
this.extraLayoutSpace = extraLayoutSpace;
}
@Override
protected int getExtraLayoutSpace(RecyclerView.State state) {
if (extraLayoutSpace > 0) {
return extraLayoutSpace;
}
return DEFAULT_EXTRA_LAYOUT_SPACE;
}
}
Тогда я назначил LayoutManager к моему обычаю Recyclerview в конструкторе с помощью setLayoutManager()
Это «обычай», но я только хотел, чтобы установить LayoutManager в costructor, вот почему я переписал на RecyclerView
к сожалению, это не имеет никакого эффекта
Я вижу вашу точку зрения, я буду оптимизировать свои предметы! –