У меня есть ConstraintLayout внутри ScrollView, и мне было интересно, как я буду динамически генерировать представления изображений внутри этого как своего рода галерея изображений.Количество изображений является переменным, и цель состоит в том, чтобы он представлял собой сетку из 4 столбцов, каждое изображение которой ограничено направляющими, расположенными с фиксированным процентом по экрану.
Сделать это вручную в представлении «Дизайн» легко,но количество изображений велико, поэтому я бы предпочел более динамичный и программный способ сделать это.Это XML, который у меня есть для примера из 5 изображений, поэтому один переходит к следующей строке.
<ImageButton
android:id="@+id/Image"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:scaleType="fitCenter"
android:src="@drawable/image1"
app:layout_constraintEnd_toStartOf="@+id/guideline8"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tabLayout" />
<ImageButton
android:id="@+id/Image2"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:scaleType="fitCenter"
android:src="@drawable/image2"
app:layout_constraintEnd_toStartOf="@+id/guideline7"
app:layout_constraintStart_toStartOf="@+id/guideline8"
app:layout_constraintTop_toBottomOf="@+id/tabLayout" />
<ImageButton
android:id="@+id/Image3"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:scaleType="fitCenter"
android:src="@drawable/image3"
app:layout_constraintEnd_toStartOf="@+id/guideline9"
app:layout_constraintStart_toEndOf="@+id/Image2"
app:layout_constraintTop_toBottomOf="@+id/tabLayout" />
<ImageButton
android:id="@+id/Image4"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:scaleType="fitCenter"
android:src="@drawable/image4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline9"
app:layout_constraintTop_toBottomOf="@+id/tabLayout" />
<ImageButton
android:id="@+id/Image5"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:scaleType="fitCenter"
android:src="@drawable/aatrox"
android:tag="266"
app:layout_constraintEnd_toStartOf="@+id/guideline8"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageName" />
<TextView
android:id="@+id/imageName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Image1"
android:text="A"
app:layout_constraintEnd_toEndOf="@+id/Image1"
app:layout_constraintStart_toStartOf="@+id/Image1"
app:layout_constraintTop_toBottomOf="@+id/Image1" />
Это то, что он в настоящее времяПохоже, когда делать это с дизайнером.