0

我想要求设备内部的 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
4

1 回答 1

1

您在哪里添加此代码?Android 必须先完成布局步骤,然后才能为您提供有关屏幕上元素位置的有用信息。

如果您的代码在onCreate()其中还为时过早。onResume()可能是一个更好的地方。

于 2013-10-12T08:10:18.947 回答