Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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
Java 如何在view.layout()方法之后更新视图位置?_Java_Android_Layout_View - Fatal编程技术网

Java 如何在view.layout()方法之后更新视图位置?

Java 如何在view.layout()方法之后更新视图位置?,java,android,layout,view,Java,Android,Layout,View,我正在尝试设置活动开始时查看的位置 我发现我的大部分问题都是关于在onCreate方法中获取布局坐标,所以我在onWindowFocusChanged中编写了它,坐标不是0,所以我现在可以使用layout()方法设置视图的位置 我做了,但是视图没有更新它的位置。顺便说一下,在我的日志视图中有一个新的位置 我认为有一种方法应该更新视图,请给我一个提示 提前感谢。您可以使用getLayoutParams()和更改边距来获取布局参数,然后再次设置布局参数 RelativeLayout.LayoutPa

我正在尝试设置活动开始时查看的位置

我发现我的大部分问题都是关于在onCreate方法中获取布局坐标,所以我在onWindowFocusChanged中编写了它,坐标不是0,所以我现在可以使用layout()方法设置视图的位置

我做了,但是视图没有更新它的位置。顺便说一下,在我的日志视图中有一个新的位置

我认为有一种方法应该更新视图,请给我一个提示


提前感谢。

您可以使用
getLayoutParams()
和更改边距来获取布局参数,然后再次设置布局参数

  • RelativeLayout.LayoutParams param=View.getLayoutParams()

  • 根据您的新职位设置参数中的边距

  • View.setLayoutParams(param)


  • 如果它不能解决您的问题,请回答我,以便我可以尝试其他方法

    我可以为FrameLayout执行此操作吗?我没有尝试,但应该这样做,因为所有布局都实现了Viewgroup.layoutparam,所以它应该是…FWIW
    view.layout()
    当从
    onTouch()
    调用时,方法似乎可以工作,但不会像你所说的那样工作(根据我的经验,我来到了这一页)与