Android Launcher 解决BubbleTextView 点击事件只在ICON上面触发,防止误触
来源:互联网 发布:西安java招聘 编辑:程序博客网 时间:2024/06/03 15:00
思路比较简单:
在OnTouch手指抬起的时候,进行判断。
//是不是触摸在图标上面 public boolean getRectTouchIcon(MotionEvent event){ if(getCompoundDrawables()!=null&&getCompoundDrawables().length==4){ final Drawable topDrawable = getCompoundDrawables()[1]; if(topDrawable!=null){ Rect compoundRect= topDrawable.getBounds(); int hspace = getRight() - getLeft() - getCompoundPaddingRight() - getCompoundPaddingLeft(); int left= getCompoundPaddingLeft() + (hspace - compoundRect.width()) / 2; int top= getPaddingTop(); Rect iconRect=new Rect(left,top,left+compoundRect.width(),top+compoundRect.height()); int touchX=(int)event.getX(); int touchY=(int)event.getY(); int l=iconRect.left; int t=iconRect.top; int r=iconRect.right; int b=iconRect.bottom; if(touchX>=l&&touchX<=r&&touchY>=t&&touchY<= b){ return true; } } } return false; }
如果不是点击在ICON上面,则屏蔽掉点击事件即可。
当然还需要,重写下,if (!isPressed()) { mPressedBackground = null; }else{ //在手指抬起来的时候,判断是否触摸位置在图标上面 isCanClick=true; boolean touchIcon=getRectTouchIcon(event); if(!touchIcon){ isCanClick=false; } }
boolean isCanClick=false; @Override public boolean performClick() { if(isCanClick){ return super.performClick(); } return true; }在最后触发事件的做下屏蔽,即可大功告成。
0 0
- Android Launcher 解决BubbleTextView 点击事件只在ICON上面触发,防止误触
- 代码控制一段时间只触发一次事件(防止多次点击) Android
- android launcher主菜单显示图片和文字之BubbleTextView
- 让二个事件同时点击 只触发一个
- 解决NestedScrollView中,在子View上滑动不触发滚动事件,却触发点击事件
- iOS解决按钮短时间内多次点击只触发一次事件方法(开始写博客)
- iOS解决按钮短时间内多次点击只触发一次事件方法
- iOS解决按钮短时间内多次点击只触发一次事件方法
- iOS解决定时器按钮短时间内多次点击只触发一次事件方法
- Android-防止连续点击事件
- Android 防止多次点击事件
- Android防止重复点击事件
- Android launcher icon size
- Android Launcher icon 放大
- Android launcher icon size
- Android launcher icon size
- Android隐藏Launcher Icon
- Android - Launcher Icon Size
- プロポーズ大作戦 求婚大作战 台词
- jquery 图片添加标注 点击标注弹窗
- mycat 离散分片(枚举分片)
- HDU 5610 Baby Ming and Weight lifting(简单的思维题目)
- (一) 了解 Ruby on Rails
- Android Launcher 解决BubbleTextView 点击事件只在ICON上面触发,防止误触
- Java.lang.UnsatisfiedLinkError android studio
- iOS9适配注意点(转)
- fastjson解析json工具类
- MongoDB数据自动同步到ElasticSearch(实现中文全文检索)
- iOS学习之移除Main.storyboard
- JAVASE基础 Item -- IO流之字节流
- Android问题解决途径
- GCD 实现同步锁