检索X和; android中按钮的Y坐标?

时间:2011-08-26 11:05:48

标签: android button position

我已经在Android上工作了一段时间,并且想知道是否有可能在android中检索按钮的位置。

我的目标是获得X& Y坐标并在LOGCAT上打印。

一些例子告诉我如何受到赞赏。

由于

3 个答案:

答案 0 :(得分:14)

当然,你可以得到这些,确保在尝试获取位置之前至少抽取一次视图。您可以尝试获取onResume()中的位置并尝试这些函数

view.getLocationInWindow()
or
view.getLocationOnScreen()

或者如果您需要与父母相关的内容,请使用

view.getLeft(), view.getTop()

API定义的链接:

答案 1 :(得分:6)

Azlam一样,您可以使用View.getLocationInWindow()获取坐标x,y

以下是一个例子:

Button button = (Button) findViewById(R.id.yourButtonId);
Point point = getPointOfView(button);
Log.d(TAG, "view point x,y (" + point.x + ", " + point.y + ")");

private Point getPointOfView(View view) {
    int[] location = new int[2];
    view.getLocationInWindow(location);
    return new Point(location[0], location[1]);
}

奖金 - 获取给定视图的中心点:

Point centerPoint = getCenterPointOfView(button);
Log.d(TAG, "view center point x,y (" + centerPoint.x + ", " + centerPoint.y + ")");

private Point getCenterPointOfView(View view) {
    int[] location = new int[2];
    view.getLocationInWindow(location);
    int x = location[0] + view.getWidth() / 2;
    int y = location[1] + view.getHeight() / 2;
    return new Point(x, y);
}

我希望这个例子对某人有用。

答案 2 :(得分:2)

buttonObj.getX();
buttonObj.getY();