0

所以我一直面临这个问题一段时间,但我仍然无法找到解决方案。希望你们能帮我解决这个问题。我有一个纸牌游戏,玩家可以像任何其他纸牌游戏一样看到他的牌。

问题是很多人抱怨卡片太小。当我在我的 devicr (galaxy s2) 上运行它时,卡片的大小很好。碰巧有人给我发了一张他 HTC 的截图,这些卡确实比我的小。

请注意,我有这 3 个不同密度的文件夹,并且我的图像视图设置为包装内容。

我有 2 个解决方案,如果您能提供进一步帮助,我将不胜感激

1)我没有包装内容,而是为每个屏幕尺寸(而不是密度)使用预定义的宽度。这将在大屏幕上显示一个特定的尺寸(它占据的空间),例如

2)使图像视图的大小相对于屏幕的宽度。我不知道该怎么做,所以任何指针都值得赞赏。

3)有什么建议吗?

请帮助陷入这种困境的程序员

4

2 回答 2

1

您可以使用 DesplayMetrics 在运行时获取设备的尺寸,并使用您获得的宽度和高度。

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;
int height = metrics.heightPixels;

ImageView iv = (ImageView)findViewById(R.id.yourImageViewId);
iv.setWidth(width);
iv.setHeight(height * 2/3);

或类似的东西。这样,您将永远不会遇到此类问题。

于 2012-07-29T16:14:24.997 回答
1

您是否有针对不同密度的不同尺寸的图像?ImageView您为s使用哪种比例类型?您可以为密度创建不同的布局,但我将从尝试比例类型开始 - http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

于 2012-07-29T16:06:31.913 回答