Я хочу создать приложение, которое имеет список изображений, но в каждой строке должен быть номер столбца , как в GIF ниже.
В 1-ю и 8-ю секунды вы увидите страницу, которую я хочу сделать.
Нажмите здесь
Чтобы было ясно, в 1-й строке есть один столбец, во 2-й строке 3 столбца, в 3-й строке 5 столбцов и последний имеет 2 столбца. Я нашел несколько ответов, но это не помогло. Любая идея, пожалуйста
Это мой код
Адаптер
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ImageHolder> {
private Context context;
private List<Row> rows;
public RecyclerAdapter(Context context, List<Row> rows) {
this.context = context;
this.rows = rows;
}
@NonNull
@Override
public ImageHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.items_layout,parent,false);
return new ImageHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ImageHolder holder, int position) {
holder.imageView.setImageResource(rows.get(position).getImg());
}
@Override
public int getItemCount() {
return rows.size();
}
public class ImageHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
public ImageHolder(@NonNull View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.img_view);
}
}
}
MinActivity
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private RecyclerAdapter adapter;
private List<Row> rows;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recycler_view);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new GridLayoutManager(this,3,RecyclerView.HORIZONTAL,true));
rows = new ArrayList<>();
rows.add(new Row(R.drawable.pic1));
rows.add(new Row(R.drawable.pic2));
rows.add(new Row(R.drawable.pic3));
rows.add(new Row(R.drawable.pic4));
rows.add(new Row(R.drawable.pic5));
rows.add(new Row(R.drawable.pic6));
rows.add(new Row(R.drawable.pic7));
rows.add(new Row(R.drawable.pic8));
rows.add(new Row(R.drawable.pic9));
rows.add(new Row(R.drawable.pic10));
rows.add(new Row(R.drawable.pic11));
rows.add(new Row(R.drawable.pic12));
adapter = new RecyclerAdapter(this,rows);
recyclerView.setAdapter(adapter);
}
}