我正在尝试在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坐标的日志值。
答案 0 :(得分:0)
要打印视图的X,Y坐标,可以使用诸如getLeft(),getTop()之类的视图方法。即可返回X,Y坐标的起始位置。
您可以参考以下链接: https://developer.android.com/reference/android/view/View