我是Android新手。我正在写一个名为MemoryPractice的例子。在我的应用中,我使用ImageView
来显示图像。我希望它们能够自动缩放以适应屏幕大小。所以我使用TableLayout
来填充所有ImageView
。在设计器中,它会正常显示,但在运行时,当我触摸ImageView
时会改变其大小而其他人会自动缩放。
我不希望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>
答案 0 :(得分:2)
我认为这会对你有所帮助:
android:scaleType="centerCrop"
android:adjustViewBounds="true"
在图片视图中尝试此操作。
答案 1 :(得分:0)
您可以在绘制图像之前获取屏幕尺寸。然后重新缩放图像,最后绘制图像。您可以根据屏幕尺寸设置图像大小。
在onTouch()
方法中实施屏幕尺寸捕获过程和缩放过程。供参考,请看: