0

我有一个 3x3 GridLayout 的图像,我想自动缩放以填充它们的父级。无论我尝试什么,我为缩放或宽度添加了什么,图像都保持相同的大小。容器会改变大小,但底层图像不会缩放。我究竟做错了什么?我知道并非所有下面的图片都有相同的设置——我只是同时玩不同的东西,看看它们会做什么。

<GridLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF"
    android:rowCount="3"
    android:columnCount="3">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icon2"
        android:drawableTop="@drawable/sample"
        android:background="#AAAAAA"
        android:layout_row="0"
        android:layout_column="0"
        android:scaleType="centerInside" />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icon3"
        android:src="@drawable/sample"
        android:layout_row="0"
        android:layout_column="1"
        android:scaleType="fitXY" />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icon4"
        android:drawableTop="@drawable/sample"
        android:background="#AAAAAA"
        android:layout_row="0"
        android:layout_column="2" />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icon5"
        android:src="@drawable/sample"
        android:background="#AAAAAA"
        android:layout_row="1"
        android:layout_column="0"
        android:width="100dp"
        android:height="100dp" />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icon6"
        android:drawableTop="@drawable/sample"
        android:background="#AAAAAA"
        android:layout_row="1"
        android:layout_column="1" />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icon7"
        android:drawableTop="@drawable/sample"
        android:background="#AAAAAA"
        android:layout_row="1"
        android:layout_column="2" />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icon8"
        android:drawableTop="@drawable/sample"
        android:background="#AAAAAA"
        android:layout_row="2"
        android:layout_column="0" />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icon9"
        android:drawableTop="@drawable/sample"
        android:background="#AAAAAA"
        android:layout_row="2"
        android:layout_column="1" />
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icon1"
        android:drawableTop="@drawable/sample"
        android:background="#AAAAAA"
        android:layout_row="2"
        android:layout_column="2" />
</GridLayout>

我希望结果看起来像这张图片中的网格。我现在不太关心文本,但是如果您对此有任何好的想法,请随时添加它们:)

期望的结果

4

1 回答 1

0

我不认为我们可以使用 XMl 在 GridLayout 中实现自动缩放。我们可以通过计算屏幕大小和宽度以编程方式修复它。在此处阅读此答案。希望它会帮助你。

于 2013-09-05T04:35:56.130 回答