ConstraintLayout动态图像网格?

时间:2019-02-28 10:57:19

标签: java android xml gridview android-constraintlayout

我在ScrollView内有一个ConstraintLayout,我想知道如何在其中动态生成图像视图作为一种图像库。图片的数量是可变的,目的是将其设置为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" />

Example view

这是与设计师一起完成时的外观。

0 个答案:

没有答案