如何在Logcat中打印视图的坐标?

时间:2018-12-25 13:56:33

标签: android

我正在尝试在Logcat中打印视图的坐标,但是视图的x和y坐标显示的值为0,0。

我可以在onclickListner方法中打印值,但x和y 0,0的值不在该方法之外。

公共类MainActivity扩展了AppCompatActivity {

public TextView textView;
public Button mButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = findViewById(R.id.textview);
    mButton = findViewById(R.id.button);

    int[] location = new int[2];

    textView.getLocationOnScreen(location);
    Log.v("location","value" +location[0]);
    Log.v("location","value" +location[1]);


    mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int[] location = new int[2];

            textView.getLocationOnScreen(location);
            Log.v("location","value" +location[0]);
            Log.v("location","value" +location[1]);

            textView.setText("Button location\nx = "+location[0]+"\ny = "+ location[1]);
        }
    });
}

我期望onClicklisterner之前的语句中的textView坐标的日志值。

1 个答案:

答案 0 :(得分:0)

要打印视图的X,Y坐标,可以使用诸如getLeft(),getTop()之类的视图方法。即可返回X,Y坐标的起始位置。

您可以参考以下链接: https://developer.android.com/reference/android/view/View