Я хочу иметь recyclerView с фиксированным числом строк, не прокручиваемым, и каждая строка также имеет фиксированную высоту, чтобы заполнить весь экран. Например, у меня было 4 строки, поэтому высота строки должна быть recyclerView height/4.RecyclerView с фиксированным числом строк
расположение строк .xml
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/border"
android:clickable="true"
>
<ImageView
android:id="@+id/ivImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
android:src="@drawable/carte_recto"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.7"
android:layout_margin="0dp"
android:padding="0dp"
android:background="@color/colorPrimary"/>
RecyclerView: Код
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="0dp"
android:padding="0dp"
android:scrollbars="none" />
Java:
mRecyclerView.setHasFixedSize(true);
GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(),1, LinearLayoutManager.VERTICAL, false);
mRecyclerView.setLayoutManager(gridLayoutManager);
mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), onItemClickListener));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setAdapter(storeAdapter);
storeAdapter.notifyDataSetChanged();
Любые идеи?
Почему бы не использовать «LinearLayout» с вертикальной ориентацией и одинаковым весом для каждого элемента? – Pelocho
В случае изменения количества строк, в один прекрасный день, возможно, будет легко добавить новый элемент в список, чем добавить новое представление. – Rockers23
Вы можете сделать это программно, получить высоту родительского макета, где находится recyclerview, и разделить эту высоту на 4, что будет высотой элемента recyclerview. Теперь установите эту высоту в элемент recyclerview, где вы раздуваете представление. – Apurva