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. Gradle DSL method not found: 'android()
  2. 详解 Android(安卓)的 Activity 组件
  3. Android进程与线程基本知识
  4. Unity调用Android配置方法
  5. Android顶部工具栏和底部工具栏的简单实现代码
  6. android的Handler
  7. Android(安卓)如何获取keyboard和TP消息 分享
  8. android中的handler
  9. Mono for Android(安卓)V1.0 正式发布啦!

随机推荐

  1. DataBinding 填坑总结
  2. android SQLiteDatabase之一
  3. AS gradle
  4. Android部分手机拍照上传返回为空处理
  5. Android App 多语言切换
  6. 基于ARouter的组件化开发
  7. (4.2.14)【android开源工具】常用网址
  8. Android 在一个应用中如何启动另外一个已
  9. Windows下 ndk 编译程序
  10. Android volley框架加载网络图片