GridLayout中的ImageViews

时间:2018-08-29 16:55:55

标签: android imageview alignment

那里的开发者,

我想制作一个包含几个imageViews的GridLayout,但是尚未设置GridLayout的每个单元格的大小,因为GridLayout会根据屏幕大小(ConstraintLayout)更改其大小。

现在我遇到的问题是,当Image大于单元格时,它会显示在设备上(在android studio中会显示)。

我已经尝试过诸如将图像设置为背景,背景色调或将android:background="@drawable/inventarslot"更改为app:background="@drawable/inventarslot"的操作,这在该论坛的其他帖子中都有提及。

这是我的GridLayout:

<android.support.v7.widget.GridLayout
        android:id="@+id/gl_equipeditems"
        android:layout_width="0dp"
        android:layout_height="75dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView8">

这是我的ImageView:

<ImageView
            android:id="@+id/iv_slot1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Profil"
            app:layout_column="0"
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            app:layout_row="0"
            app:layout_rowWeight="1"/>

谢谢您的帮助

问候白米饭

1 个答案:

答案 0 :(得分:1)

由于您是根据屏幕尺寸显示图像,因此我假设您也在计算图像尺寸。

首先,尝试将ImageView比例类型设置为fitCenter或任何适合您需求的比例类型。比例类型示例如下taken from here

Scale Types

稍后,根据您所做的计算,以编程方式更改ImageView的宽度和高度。

这样,您将能够显示所有图像。