android MotionEvent中getX()和getRawX()的区别
http://blog.csdn.net/ztp800201/article/details/17218067
http://blog.csdn.net/ztp800201/article/details/17218067
http://blog.csdn.net/ztp800201/article/details/17218067
http://blog.csdn.net/ztp800201/article/details/17218067
http://blog.csdn.net/ztp800201/article/details/17218067
android MotionEvent中getX()和getRawX()的区别
分类:Android 2013-12-09 10:29 1294人阅读 评论(1) 收藏 举报- publicclassResextendsActivityimplementsView.OnTouchListener{
- Buttonbtn=null;
- intx=0;
- inty=0;
- intrawx=0;
- intrawy=0;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- btn=(Button)findViewById(R.id.button);
- btn.setOnTouchListener(this);
- }
- publicbooleanonTouch(Viewview,MotionEventevent){
- inteventaction=event.getAction();
- switch(eventaction){
- caseMotionEvent.ACTION_DOWN:
- break;
- caseMotionEvent.ACTION_MOVE:
- x=(int)event.getX();
- y=(int)event.getY();
- rawx=(int)event.getRawX();
- rawy=(int)event.getRawY();
- Log.d("DEBUG","getX="+x+"getY="+y+"n"+"getRawX="+rawx
- +"getRawY="+rawy+"n");
- break;
- caseMotionEvent.ACTION_UP:
- break;
- }
- returnfalse;
- }
- }
结论:
当你触到按钮时,x,y是相对于该按钮左上点(控件本身)的相对位置。
而rawx,rawy始终是相对于屏幕的位置。
可知:
getRowX:触摸点相对于屏幕的坐标
getX: 触摸点相对于按钮的坐标
getTop: 按钮左上角相对于父view(LinerLayout)的y坐标
getLeft: 按钮左上角相对于父view(LinerLayout)的x坐标
可以想象 getRight()等同于下面的计算:getLeft()+getWidth()。
getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理
http://blog.csdn.net/ztp800201/article/details/17218183
http://blog.csdn.net/ztp800201/article/details/17218183
http://blog.csdn.net/ztp800201/article/details/17218183
http://blog.csdn.net/ztp800201/article/details/17218183
http://blog.csdn.net/ztp800201/article/details/17218183
android获得控件在屏幕中的绝对坐标 getLocationInWindow 和 getLocationOnScreen
分类:Android 2013-12-09 10:32 1857人阅读 评论(0) 收藏 举报 int[] location = new int[2] ;
view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标
view.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标
location [0]--->x坐标,location [1]--->y坐标
getLocationOnScreen
,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标
getLocationInWindow,计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗口内的绝对坐标
getLeft,getTop,getBottom,getRight,这一组是获取相对在它父亲里的坐标
http://blog.csdn.net/ztp800201/article/details/16862125
http://blog.csdn.net/ztp800201/article/details/16862125
http://blog.csdn.net/ztp800201/article/details/16862125
http://blog.csdn.net/ztp800201/article/details/16862125
http://blog.csdn.net/ztp800201/article/details/16862125
Android View.VISIBLE、INVISIBLE、GONE的区别
分类:Android 2013-11-21 15:44 216人阅读 评论(0) 收藏 举报android中UI应用的开发中经常会使用view.setVisibility()来设置控件的可见性,其中该函数有3个可选值,他们有着不同的含义:
View.VISIBLE--->可见
View.INVISIBLE--->不可见,但这个View仍然会占用在xml文件中所分配的布局空间,不重新layout
View.GONE---->不可见,但这个View在ViewGroup中不保留位置,会重新layout,不再占用空间,那后面的view就会取代他的位置,
所以在使用时要小心,尤其要善用INVISIBLE和GONE;
更多相关文章
- 去掉android的屏幕上的title bar
- 详解Android中的屏幕方向
- android屏幕截图
- Android坐标系、视图坐标系与触控事件(MotionEvent)
- Android实现动态改变屏幕方向(Landscape & Portrait)
- android屏幕监视工具 android screen monitor使用
- android屏幕页面实现滚动,页面跳…