Android Notes 32: Как установить высоту onBindViewHolder для RecyclerView [программно]

Обновлено: 26 марта 2020 г.

Это распространенная и неизвестная проблема. К счастью, это легко решить.

Код:

LinearLayout.LayoutParams params = new
LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
// Set the height by params
params.height=1700;
// Set height of RecyclerView
holder.recyclerViewList.setLayoutParams(params);

Суть:

Во-первых, если вы используете RelativeLayout как родительский, вы должны использовать;

RelativeLayout.LayoutParams

Вместо LinearLayout.

На самом деле это простой код, мы просто создаем параметр макета для родительского объекта и, используя этот объект, устанавливаем высоту или ширину, как вам нужно.

Затем установите RecyclerView на setLayoutParams (params).

Еще одно напоминание; Я использую holder.recyclerViewList, потому что я использую этот код в адаптере RecyclerView. Если вы хотите использовать его на улице, держатель не нужен. вы просто используете объект RecyclerView.

Если есть вопрос, задавайте мне :)