【发布时间】:2020-02-28 21:55:39
【问题描述】:
我对包含 ImageViews 的 GridLayout 有一个奇怪的问题。
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:columnCount="2"
android:rowCount="3"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_row="1"
android:layout_column="0"
android:src="@drawable/test" />
<ImageView
android:layout_row="2"
android:layout_column="0"
android:src="@drawable/test" />
<ImageView
android:layout_row="0"
android:layout_column="1"
android:src="@drawable/test" />
<ImageView
android:layout_row="1"
android:layout_column="1"
android:src="@drawable/test" />
<ImageView
android:layout_row="2"
android:layout_column="1"
android:src="@drawable/test" />
</GridLayout>
这是我想要实现的目标:
但是,布局似乎根本没有缩放,看起来像这样(取决于屏幕大小):
我尝试过的(但没有成功):
- 在 GridLayout 中添加
android:clipChildren="false" - 将 ImageViews 的
scaleType设置为fitXY、fitCenter和centerCrop - 将 ImageViews 的
layout_width和layout_height设置为wrap_content、match_parent及其排列(但是,我希望 GridLayout 自动设置其子项的大小)
能否请更有经验的人告诉我如何实现我的目标? :D 谢谢!
PS:如果我可以使用任何其他布局来实现所需的外观,请告诉我。
【问题讨论】:
-
如果你的图片数量是动态的,那么你应该使用 recycler-view
-
如果图像是静态的,那么你可以只使用线性布局或约束布局等视图组
-
@Parag Pawar 这将只是一个静态布局。我尝试过嵌套的 LinearLayouts,但它看起来不太好 - 有时图像有点偏离。不过,我会尝试使用 ContraintLayout。
标签: android imageview android-gridlayout