Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:相对布局,更改X坐标_Android - Fatal编程技术网

Android:相对布局,更改X坐标

Android:相对布局,更改X坐标,android,Android,我有一个在整个屏幕上相对布局的活动。在左上角我有一个按钮。点击按钮,我想将布局从0坐标移动到100坐标。我在onclick方法中尝试了类似的方法: RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); param.leftMargin = 100;

我有一个在整个屏幕上相对布局的活动。在左上角我有一个按钮。点击按钮,我想将布局从0坐标移动到100坐标。我在onclick方法中尝试了类似的方法:

            RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
            param.leftMargin = 100;
            meRelativeLayout.setLayoutParams(param);

但这件事只是让我的相对版面宽度变小了,它的变化只留下了margine,仅此而已,但我不想改变版面宽度,只想改变X坐标,有什么办法吗?

对我来说,你的代码似乎很完美,只是问题在于
填充父项。当您使用
FILL\u PARENT
时,系统将分配显示中剩余的空间(较少的边距),这就是布局变小的原因,请尝试此操作

int width= mActivity.getWindowManager().getDefaultDisplay().getWidth();

RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams( width, LayoutParams.FILL_PARENT);
            param.leftMargin = 100;
            meRelativeLayout.setLayoutParams(param);

我尝试了宽度300,但这不起作用…宽度仍然变小以致布局无法移动到主窗口之外?在layout.xml中以
HorizontalScrollView
作为父级,您将很好地了解HorizontalScrollView的工作原理,他们是如何做到的?)如果没有HorizontalScrollview,实现仍然是正确的,但问题是要在显示边界之外显示内容,您必须获得滚动控制。