在网格中自动缩放图像

时间:2013-09-05 01:44:42

标签: android xamarin.android

我有一个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>

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

Desired result

1 个答案:

答案 0 :(得分:0)

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