Android:获取屏幕对象的位置

Bas*_*fan 2 android dimensions

我试图获取布局内任何对象的x,y但是当屏幕的最后一个角落处的对象时我得到了这个值:

对象X:266

对象Y:361

屏幕宽度:320

屏幕高度:480

我如何才能知道屏幕的确切位置在哪里?(结束,顶部,左侧,中间).

小智 17

希望这可以帮助..

public Rect locateView(View view) {
    Rect loc = new Rect();
    int[] location = new int[2];
    if (view == null) {
        return loc;
    }
    view.getLocationOnScreen(location);

    loc.left = location[0];
    loc.top = location[1];
    loc.right = loc.left + view.getWidth();
    loc.bottom = loc.top + view.getHeight();
    return loc;
}
Run Code Online (Sandbox Code Playgroud)

我用这种方法:

  Rect r = TVGridUtils.locateView(activity.findViewById(R.id.imageview));                 

        float touchX=r.left+((r.right-r.left)/2);
        float touchY=(r.bottom);    
Run Code Online (Sandbox Code Playgroud)

注意:我必须得到我触及的imageview的中间点