Я создаю макет, очень похожий на Instagram
Я хочу показать пользователям мультимедиа в повторном обзоре с 3 столбцами
Это моя карта:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_gravity="center"
android:layout_margin="1dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/mediaThumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/link_blue"
android:scaleType="centerCrop" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/likes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/mediaThumbnail"
android:layout_alignBottom="@id/mediaThumbnail"
android:layout_margin="2dp"
android:drawableLeft="@drawable/ic_like"
android:text="10001"
android:textAlignment="center"
android:textColor="#000000"
android:textSize="12sp" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/comments"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@id/mediaThumbnail"
android:layout_alignBottom="@id/mediaThumbnail"
android:layout_margin="2dp"
android:drawableLeft="@drawable/ic_comments"
android:text="10001"
android:textAlignment="center"
android:textColor="#000000"
android:textSize="12sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="17dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="1dp"
android:background="#33000000" />
и вот как я запускаю обзор рециркулятора:
RecyclerView recyclerView = findViewById(R.id.gridView);
recyclerView.setAdapter(new MediaAdapter(new ArrayList<>()));
recyclerView.setLayoutManager(new GridLayoutManager(this,3));
recyclerView.setItemAnimator(new DefaultItemAnimator());
моя точка зрения: разные устройства будут иметь разную ширину экрана, поэтому я не могу принудительно установить любое значение на карте android:layout_width="match_parent"
я позволю раскладщику делатьэто задание
но тогда я не знаю, какое значение у него закончилось, поэтому любое значение, которое я пытаюсь угадать для android:layout_height="100dp"
, не будет квадратным.
это окончательный результат:
как отрегулировать высоту, чтобы получить значение ширины во время выполнения?