08 2011 档案

摘要:onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,Android这么设计的想法也很好理解,由于ViewGroup会包含若干childView,因此需要能够统一监控各种touch事件的机会,因此纯粹的不能包含子view的控件是没有这个方法的,如LinearLayout就有,TextView就没有。 onInterceptTouchEvent()使用也很简单,如果在ViewGroup里覆写了该方法,那么就可以对各种touch事件加以拦截。但是如何拦截,是否所有的touch事件都需要拦截则是比较复杂的,touch事件在onInterceptTouchEvent()和onTouchEvent以及各个childView间的传递机制完全取决于onInterceptTouchEvent()和onTouchEvent()的返回值。并且,针对down事件处理的返回值直接影响到后续move和up事件的接收和传递。 阅读全文
posted @ 2011-08-24 15:25 allin.android 阅读(1124) 评论(0) 推荐(0) 编辑
摘要:针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件? 在Android中,一次用户操作可以被不同的View按次序分别处理,并将完全响应了用户一次UI操作称之为消费了该事件(consume),那么Android是按什么次序将事件传递的呢?又在什么情况下判定为消费了该事件? 搞清楚这些问题对于编写出能正确响应UI操作的代码是很重要的,尤其当屏幕上的不同View需要针对此次UI操作做出各种不同响应的时候更是如此,一个典型例子就是用户在桌面上放置了一个Widget,那么当用户针对widget做各种操作时,桌面本身有的时候要对用户的操作做出响应,有时忽略。只有搞清楚事件触发和传递的机制才有可能保证在界面布局非常复杂的情况下,UI控件仍然能正确响应用户操作。 阅读全文
posted @ 2011-08-24 15:23 allin.android 阅读(2050) 评论(1) 推荐(0) 编辑
摘要:直接使用ImageView显示bitmap会占用较多资源,特别是图片较大的时候,可能导致崩溃。使用BitmapFactory.Options设置inSampleSize, 这样做可以减少对系统资源的要求。属性值inSampleSize表示缩略图大小为原始图片大小的几分之一,即如果这个值为2,则取出的缩略图的宽和高都是原始图片的1/2,图片大小就为原始大小的1/4。Options中有个属性inJustDecodeBounds,SDK中是这么说的If set to true, the decoder will return null (no bitmap), but the out... fiel 阅读全文
posted @ 2011-08-08 23:45 allin.android 阅读(2587) 评论(0) 推荐(1) 编辑
摘要:查看最新足球赛事预告, 定制比赛提醒任务, 及时更新关注球赛比分, 掌握最新的体育资讯, 是球迷必备的工具下载地址: 阅读全文
posted @ 2011-08-03 11:23 allin.android 阅读(396) 评论(0) 推荐(0) 编辑