http://blog.csdn.net/liu_zhen_wei/article/details/7653057

http://blog.csdn.net/liu_zhen_wei/article/details/7653057

http://blog.csdn.net/liu_zhen_wei/article/details/7653057

http://blog.csdn.net/liu_zhen_wei/article/details/7653057


ubuntu eclips SVN 修改账户

分类:androidLinuxSystem 316人阅读 评论(0) 收藏 举报 ubuntu svn eclipse

1. 删除文件:eclipse/configuration/org.eclipse.core.runtime/.keyring

2.重启eclipse

3.重新checkout工程即可






http://blog.csdn.net/liu_zhen_wei/article/details/7554384

http://blog.csdn.net/liu_zhen_wei/article/details/7554384

http://blog.csdn.net/liu_zhen_wei/article/details/7554384

http://blog.csdn.net/liu_zhen_wei/article/details/7554384

http://blog.csdn.net/liu_zhen_wei/article/details/7554384


android onTouch()与onTouchEvent()的区别

分类:android 4086人阅读 评论(5) 收藏 举报 android 1.onTouch方法:
onTouch方法是View的 OnTouchListener借口中定义的方法。
当一个View绑定了OnTouchLister后,当有touch事件触发时,就会调用onTouch方法。
(当把手放到View上后,onTouch方法被一遍一遍地被调用)


2.onTouchEvent方法:
onTouchEvent方法是override 的Activity的方法。
重新了Activity的onTouchEvent方法后,当屏幕有touch事件时,此方法就会别调用。
(当把手放到Activity上时,onTouchEvent方法就会一遍一遍地被调用)


3.touch事件的传递:
在一个Activity里面放一个TextView的实例tv,并且这个tv的属性设定为 fill_parent
在这种情况下,当手放到屏幕上的时候,首先会是tv响应touch事件,执行onTouch方法。


如果onTouch返回值为true,
表示这个touch事件被onTouch方法处理完毕,不会把touch事件再传递给Activity,
也就是说onTouchEvent方法不会被调用。
(当把手放到屏幕上后,onTouch方法被一遍一遍地被调用)


如果onTouch的返回值是false,
表示这个touch事件没有被tv完全处理,onTouch返回以后,touch事件被传递给Activity,
onTouchEvent方法被调用。
(当把手放到屏幕上后,onTouch方法调用一次后,onTouchEvent方法就会一遍一遍地被调用)


http://www.cnblogs.com/shitianzeng/articles/2467533.html
http://www.cnblogs.com/shitianzeng/articles/2467533.html
http://www.cnblogs.com/shitianzeng/articles/2467533.html
http://www.cnblogs.com/shitianzeng/articles/2467533.html
http://www.cnblogs.com/shitianzeng/articles/2467533.html

android onTouchEvent和setOnTouchListener中onTouch的区别

android中onTouchEvent和setOnTouchListener中onTouch的区别可以有些人并不了解,其实要说明白这个问题先要说下android的事件传递机制。

首先看下以下的代码1,这段代码反应了View处理事件的过程:

代码1:

public boolean dispatchTouchEvent(MotionEvent event) {
if (mOnTouchListener != null && mOnTouchListener.onTouch(this, event)) {
return true;
}
return onTouchEvent(event);
}

在代码1中有一点首先需要明确,那就是如果dispatchTouchEvent返回值为true则本次事件被系统消耗掉(就是被控件处理了), 然后一个新的事件会被传入,如果dispatchTouchEvent返回值为false,则不会有新的事件被传入。

好,明白了这一点再看那个代码1中if语句后面的条件mOnTouchListener != null && mOnTouchListener.onTouch(this, event),mOnTouchListener 对象其实不就是你写的监听器对象吗?比如下面代码2的这个匿名对象。

代码2:

xxxView.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {

return true;
}
});

好,我们再看下代码2中onTouch事件中的返回值,如果代码2 return true则代表什么呢?代表代码1中将不会执行 return onTouchEvent(event);语句,这也就是说这次系统事件会被消耗掉,将会再次执行dispatchTouchEvent这个方法。

如果代码2 return false则代表代码1会执行onTouchEvent(event);这个方法,本次事件是否会被消耗掉将取决于onTouchEvent的返回值。

做个小总结其实就是如果setOnTouchListener中的onTouch方法返回值是true则onTouchEvent方法将不会被执行;只有当setOnTouchListener中的onTouch方法返回值是false时onTouchEvent方法才被执行。



http://www.cnblogs.com/wanyakun/archive/2012/03/20/3403296.html
http://www.cnblogs.com/wanyakun/archive/2012/03/20/3403296.html
http://www.cnblogs.com/wanyakun/archive/2012/03/20/3403296.html
http://www.cnblogs.com/wanyakun/archive/2012/03/20/3403296.html
http://www.cnblogs.com/wanyakun/archive/2012/03/20/3403296.html

MotionEvent的getX(),getY()与getRawX(),getRawY()区别

首先我们通过一个button进行一下测试,可以知道:
  1. publicclassResextendsActivityimplementsView.OnTouchListener{
  2. Buttonbtn=null;
  3. intx=0;
  4. inty=0;
  5. intrawx=0;
  6. intrawy=0;
  7. /**Calledwhentheactivityisfirstcreated.*/
  8. @Override
  9. publicvoidonCreate(BundlesavedInstanceState){
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.main);
  12. btn=(Button)findViewById(R.id.button);
  13. btn.setOnTouchListener(this);
  14. }
  15. publicbooleanonTouch(Viewview,MotionEventevent){
  16. inteventaction=event.getAction();
  17. switch(eventaction){
  18. caseMotionEvent.ACTION_DOWN:
  19. break;
  20. caseMotionEvent.ACTION_MOVE:
  21. x=(int)event.getX();
  22. y=(int)event.getY();
  23. rawx=(int)event.getRawX();
  24. rawy=(int)event.getRawY();
  25. Log.d("DEBUG","getX="+x+"getY="+y+"\n"+"getRawX="+rawx
  26. +"getRawY="+rawy+"\n");
  27. break;
  28. caseMotionEvent.ACTION_UP:
  29. break;
  30. }
  31. returnfalse;
  32. }
  33. }
getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理如果你的某个Activity中实现OnTouchListener接口,需要重写
  1. onTouch(Viewview,MotionEventevent)
这个方法, getRawX()和getRawY()获得的是相对屏幕的位置,getX()和getY()获得的永远是view的触摸位置坐标 (这两个值不会超过view的长度和宽度)。 如果重写Activity的
  1. onTouchEvent(MotionEventevent)
,这个时候获得的是屏幕点击位置的坐标。event.getX() 与 event.getRawX()获取的值是一样的,event.getY() 与 event.getRawY()获取的值是一样,还能获取触摸标题栏时的坐标位置,但是触摸状态栏时的坐标位置不能获得。 (注:Activity上有两段宽度:一个是状态栏,一个是标题栏,每一个宽度都占了25像素) 文章来自:http://ile.me/archives/163.html

更多相关文章

  1. Android顶部工具栏和底部工具栏的简单实现代码
  2. Unity调用Android配置方法
  3. Android 滑动手势侦测方法介绍
  4. 安卓selector使用方法
  5. 应用界面主题Theme使用方法
  6. Android 使用html做UI的方法---js与java的相互调用
  7. Android关闭JIT的方法

随机推荐

  1. Android中的lcd_density设置
  2. android反编译apk文件
  3. IDA动态调试Android的DEX文件
  4. 2012-7-23 android shape
  5. Android(安卓)Layout XML属性
  6. 中国移动开发者社区专访:学习Android的两
  7. Android(安卓)Service生命周期及用法!
  8. Android(安卓)Bluetooth蓝牙开发:Bluetoot
  9. Android(安卓)4.1源代码今日将发布
  10. Android启动模式