Android调整大小布局和动态定位更改

时间:2013-07-28 16:48:29

标签: android android-layout resize position

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

1。如何设置IamgeButton,ImageView和其他元素根据屏幕大小和分辨率调整大小?

三星Galaxy S4:

Prestigion 9.7 Pro:

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支持。

提前致谢!

1 个答案:

答案 0 :(得分:0)

好像你已经使用RelativeLayout作为你的视图根。

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

android:layout_alignParentRight="true"

这将确保您的ImageView始终显示在最右侧的位置。 如果您希望屏幕边界与ImageView之间存在间隙,请添加适当的边距,例如:

android:layout_marginRight="10dp"

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

为了确保所有ImageView在任何屏幕密度上具有相同的大小,您必须创建不同大小的图像并将它们放在相应的可绘制文件夹中(drawable-mdpi,drawable-hdpi,...)< / p>

hdpi设备的图像必须具有相同大小的mdpi图像大小的1.5倍,xhdpi的因子为2,而ldpi的因子为0.75。 (mdpi的因子是1)

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