android 获取坐标【转】

获取坐标。。。好吧,之前在onCreate里getButtom一直都是0,纠结的很,转一遍让我解决问题的文章,谢谢原作者。

int[] location = new int[2] ;
view.getLocationInWindow(location);
//获取在当前窗口内的绝对坐标
view.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标
location [0]--->x坐标,location [1]--->y坐标

如果在Activity的OnCreate()事件输出那些参数,是全为0,要等UI控件都加载完了才能获取到这些。

private ViewFlipper flipper;

@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(
"demo", "onCreate");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

flipper
= (ViewFlipper)findViewById(R.id.flipper);
Log.d(
"demo", "left:" + flipper.getLeft());
Log.d(
"demo", "right:" + flipper.getRight());
Log.d(
"demo", "Top:" + flipper.getTop());
Log.d(
"demo", "Bottom:" + flipper.getBottom());

Button btn
= (Button)findViewById(R.id.button2);
btn.setOnClickListener(
new OnClickListener(){
public void onClick(View v) {
Log.i(
"demo", "onClick");
Log.d(
"demo", "left:" + flipper.getLeft());
Log.d(
"demo", "right:" + flipper.getRight());
Log.d(
"demo", "Top:" + flipper.getTop());
Log.d(
"demo", "Bottom:" + flipper.getBottom());
}
});
}
posted @ 2011-08-11 10:52  傲视温柔  阅读(1651)  评论(0编辑  收藏  举报