我有1个活动,不同的输入需要对其XML文件上的按钮位置进行更改。 我尝试使用setX来实现不同的位置,但它没有移动。 我想也许可以制作几个XML,其中一些数据包含按钮ID,唯一不同的是屏幕上的位置。但是,我需要为某些活动附加不同的XML。这是可能的,如何做到这一点? 非常感谢 酒吧。
答案 0 :(得分:0)
我发现代码不能在布局上移动我的图像有什么问题。所以这比制作几个布局容易得多。 如果我们想通过setX(数字)改变图像的位置,我们首先要调用它的参数。
所以就这样:
imageviewLeft.requestLayout(); //获取其大小参数
imageviewLeft.setX(数);
然后它计算出正确的新位置。
请记住,数字单位是像素,不能在dp,sp ect中表达。
因此,为了帮助从dp转换为px,我们可以使用以下代码:
private int dp2px(int dp) {
float scale = getResources().getDisplayMetrics().density;
int pixels = (int) (dp * scale + 0.5f);
return pixels;
}