GridLayout中的ImageViews

问题描述 投票:0回答:1

那里的开发者,

我想创建一个包含多个imageView的GridLayout,但GridLayout的每个单元格的大小尚未设置,因为GridLayout根据屏幕大小(ConstraintLayout)更改其大小。

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

我已经尝试过将图像设置为背景,背景色调或将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"/>

谢谢您的帮助

问候Pumpanickel

android imageview alignment
1个回答
1
投票

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

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

Scale Types

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

这样您就可以显示所有图像。

© www.soinside.com 2019 - 2024. All rights reserved.