0

我正在开发一个应用程序,它应该在屏幕上显示几个相同大小的图像。但它应该只显示尽可能多的图像而不提供滚动。

例如,在“大”平板电脑上,它可以显示 10x10 Imageviews(屏幕很大,所以有很多空间可以放图片)

在“大”手机上可能有足够的空间来显示 6x6 ImageViews,因此它应该只显示 6x6 图像数组。

在小型手机上可能只有 4x4 ImageViews 的空间,所以它应该只显示这个。

我怎样才能在Android中做到这一点?我知道“layout-large”,...但是如果我为“large”设备制作一个特殊的固定 xml-layout,它不会适合所有设备正确。例如,Galaxy Nexus 是“普通”设备,Nexus One 也是如此,但 Galaxy Nexus 上的图像视图行至少比 Nexus One 上多一两个空间。那么我是否必须以某种方式在代码中测量分辨率有多大并相应地显示一些 TableRows?或者有什么特殊的方法可以管理这个吗?

4

2 回答 2

0

您应该使用 GridView 来管理它。

GridView Android 开发者

编辑:确实正如 Tomasz Gawel 所说:notice the GridView's android:numColumns="auto_fit" xml attribute

编辑:因为你不希望它是可滚动的,你可以只获取屏幕大小,将它除以你的项目的大小,然后只放入你想在 gridview 中显示的项目。只有当它的项目多于它可以显示时,gridview 才会滚动。

getResources().getDisplayMetrics().widthPixels and heightPixels
于 2012-06-01T22:39:22.120 回答
0

您可以查询设备屏幕的属性,例如尺寸、密度等。一旦您知道尺寸,您就可以选择要使用的布局。

看看这个 stackoverflow 帖子。Android:如何获取屏幕尺寸

于 2012-06-01T21:40:53.167 回答