0

我是安卓新手。我正在写一个名为 MemoryPractice 的示例。在我的应用程序中,我ImageView用来显示图像。我希望它们自动缩放以适应屏幕大小。所以我用TableLayout填充所有ImageView的s。在设计器中,它显示正常,但在运行时,当我触摸ImageViews 时,它会改变它的大小,而其他的会自动缩放。我不想ImageView扩大规模。它必须保持其设计的大小。

我应该怎么办?

这是layout.xml

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black_overlay"
tools:context=".TableLayout" >

<TableRow
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="1dp" >

    <ImageView
        android:id="@+id/img1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img3"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img4"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img5"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img6"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="1dp" >

    <ImageView
        android:id="@+id/img7"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img8"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img9"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img10"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img11"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img12"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="1dp" >

    <ImageView
        android:id="@+id/img13"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img14"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img15"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img16"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img17"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />

    <ImageView
        android:id="@+id/img18"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:contentDescription="@string/contentDescription"
        android:scaleType="fitXY"
        android:src="@drawable/image1" />
</TableRow>

4

2 回答 2

3

我认为这会帮助你:

android:scaleType="centerCrop"
android:adjustViewBounds="true"

在您的图像视图中尝试此操作。

于 2017-08-08T18:26:34.390 回答
0

您可以在绘制图像之前获取屏幕尺寸。然后你重新缩放你的图像,最后绘制图像。您可以根据屏幕尺寸设置图像尺寸。

实现方法中的屏幕尺寸捕获过程和缩放过程onTouch()。参考看看这个:

如何动态更改 ImageView 高度

于 2013-10-24T09:42:32.623 回答