我想从设备内部要求imageview位置。但每次它都返回0.我使用这些代码来做到这一点:
tv1=(TextView)findViewById(R.id.textView1);
tv1.setText("Accessing the position of the widget in device");
Rect rectf = new Rect();
tv1.getLocalVisibleRect(rectf);
System.out.println("top" + rectf.top );
System.out.println("Left:" + rectf.left);
System.out.println("Right:" + rectf.right);
System.out.println("Bottom:" + rectf.bottom);
输出
10-12 05:42:55.101: I/System.out(31578): top:0
10-12 05:42:55.101: I/System.out(31578): Left:0
10-12 05:42:55.101: I/System.out(31578): Right:0
10-12 05:42:55.101: I/System.out(31578): Bottom:0
答案 0 :(得分:1)
您在哪里添加此代码? Android必须先完成布局步骤才能为您提供有关屏幕上元素位置的有用信息。
如果您的代码位于onCreate()
,则为时尚早。 onResume()
可能是一个更好的地方。