【发布时间】:2025-11-28 09:25:03
【问题描述】:
对于不同的输入,我有 1 个活动需要更改其 XML 文件上按钮的位置。 我尝试通过使用 setX 到不同的位置来做到这一点,但它没有移动。 我在想也许可以制作几个 XML,其中一些数据包括按钮 ID,唯一不同的是屏幕上的位置。但是我需要为某些活动附加不同的 XML。这是否可能以及如何做到这一点? 非常感谢 酒吧。
【问题讨论】:
标签: xml button android-activity position
对于不同的输入,我有 1 个活动需要更改其 XML 文件上按钮的位置。 我尝试通过使用 setX 到不同的位置来做到这一点,但它没有移动。 我在想也许可以制作几个 XML,其中一些数据包括按钮 ID,唯一不同的是屏幕上的位置。但是我需要为某些活动附加不同的 XML。这是否可能以及如何做到这一点? 非常感谢 酒吧。
【问题讨论】:
标签: xml button android-activity position
我发现代码没有在布局上移动我的图像有什么问题。所以这比制作多个布局要容易得多。 如果我们想通过 setX(number) 改变图像的位置,我们首先要调用它的参数。
原来是这样的:
imageviewLeft.requestLayout(); // 获取它的大小参数
imageviewLeft.setX(number);
然后它会计算出正确的新位置。
请记住,数字单位是像素,不能用 dp,spec 表示。
因此,为了帮助从 dp 转换为 px,我们可以使用以下代码:
private int dp2px(int dp) {
float scale = getResources().getDisplayMetrics().density;
int pixels = (int) (dp * scale + 0.5f);
return pixels;
}
【讨论】: