Я пытаюсь раздуть все элементы в RecyclerView, мой код не работает на устройствах ниже API 24, вот мой код.
Это мой класс PreCachingLayoutManager, который расширяет LinearLayoutManager.
public class PreCachingLayoutManager extends LinearLayoutManager {
private static final int DEFAULT_EXTRA_LAYOUT_SPACE = 800;
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;
}
}
Это мой код активности
dealsImagesRecyclerView =
findViewById(R.id.dealsImagesRecyclerView);
layoutManager = new
PreCachingLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
layoutManager.setExtraLayoutSpace(deviceHeight);
layoutManager.setItemPrefetchEnabled(true);
dealsImagesRecyclerView.setLayoutManager(layoutManager);




RecycleView создан для оптимизации нагрузки, чтобы не раздувать лишние итены.
Если вы хотите раздуть все itens, возможно, вам следует использовать listview.
Вы можете использовать простой горизонтальный вид прокрутки и добавить к нему вид.
Вид ведьмы @himanshu saluja должен ли я добавить в вид прокрутки?
вы можете использовать линейный макет внутри представления прокрутки, а затем программно добавить каждое из ваших представлений в линейный макет
Да, но recycleView позволил мне установить элементы в горизонтальном режиме, мой код работает нормально, но проблема связана с устройствами с API ниже 24.