View 如何在android中查找视图位置
如何在android中找到视图位置 为了得到这个位置,我使用了View 如何在android中查找视图位置,view,android-widget,View,Android Widget,如何在android中找到视图位置 为了得到这个位置,我使用了view.getLeft(),view.getRight(),view.getTop()和view.getBottm()。但是这些方法返回0(零)。调用setContentView()方法后,我使用了这些方法 如果有人知道获取视图位置的代码,请帮助我 这在2.2中对我起了作用: custRegScrollView.smoothScrollTo(0, activity.findViewById(labelId)
view.getLeft()
,view.getRight()
,view.getTop()
和view.getBottm()
。但是这些方法返回0
(零)。调用setContentView()
方法后,我使用了这些方法
如果有人知道获取视图位置的代码,请帮助我 这在2.2中对我起了作用:
custRegScrollView.smoothScrollTo(0, activity.findViewById(labelId)
.getTop() - (viewHeight / 2) + offset);
您要查找的代码位是:
int viewPos = activity.findViewById(R.id.myView).getTop();
这将返回视图“矩形”中的以下位置
即视图顶部的Y(垂直)坐标
请注意,这是基于您使用的布局类型的上下文。这是在ScrollView中测试的,如上所示
希望这有帮助 您在哪里调用了
getLeft()
,getTop()
等?在调用onMeasure()
之前,不会设置视图的位置,因此这些方法在此之前将返回0onCreate()
是在onMeasure()
之前调用的,因此调用getLeft()
在onCreate()
中没有多大用处。您可能希望将代码移动到onMeasure()
或onResume()
。但是,如果您确实覆盖了onMeasure(),请注意,它通常会被多次调用。什么具体不起作用?您是否尝试过单步遍历代码并查看这些方法是否返回正确的值?它是否抛出异常?
>______
| |
| |
|____|