0

我正在制作一个简单的游戏,我有两个问题:

1.如何设置IamgeButton、ImageView等元素根据屏幕大小和分辨率调整大小?

三星Galaxy S4:

威望 9.7 专业版:

2. 如何通过代码改变某个元素的位置?我尝试使用setY,但不支持较低的 API。我尝试使用此代码,但它移动了整个活动内容:

ImageView image = (ImageView) findViewById(R.id.imageView1);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)image.getLayoutParams();
params.setMargins(0, 0, 100, 0);
image.setLayoutParams(params);

我正在寻找一些简单的函数,比如 CSS 中的“margin”,它在 2.2 和更高版本的 API 中受支持。

提前致谢!

4

1 回答 1

0

似乎您已经使用 RelativeLayout 作为视图根。

现在,只需将以下内容添加到 XML 中的每个 ImageView 中:

android:layout_alignParentRight="true"

这将确保您的 ImageViews 始终显示在最右边的位置。如果您想要屏幕边界和 ImageView 之间的间隙,请添加适当的边距,例如:

android:layout_marginRight="10dp"

如果你也想补偿垂直位置的变化,你可以添加一个LinearLayout,把你所有的ImageViews放到那个LinearLayout中,为每个ImageView设置相同的权重值,然后将上面的两行添加到LinearLayout中。

为了确保所有 ImageView 在任何屏幕密度下都具有相同的尺寸,您必须创建不同尺寸的图像并将它们放在相应的可绘制文件夹中(drawable-mdpi、drawable-hdpi、...)

hdpi 设备的图像必须具有 mdpi 图像大小的 1.5 倍才能以相同的大小显示,xhdpi 的系数为 2,ldpi 的系数为 0.75。(mdpi 的系数为 1)

此外,您可以为不同的屏幕尺寸或密度创建不同的布局。这将提供所需的信息:http: //developer.android.com/guide/practices/screens_support.html

于 2013-07-28T16:57:01.210 回答