android bitmap的点击事件 求助

sinat_17841263 2014-08-25 05:01:29
现在我的屏幕中间有一个图片
我怎么样用ontouch事件来监控当我第一次点在这张图片上时 改变这张图片的资源
当我第二次点击该图片时 该图片消失

还有我怎么监控手指点的位置在图片内
...全文
392 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sagittarius1988 2014-08-27
  • 打赏
  • 举报
回复
你要用的是bitmap的width和height,不是画布canvas的
sinat_17841263 2014-08-27
  • 打赏
  • 举报
回复
一样的 已经解决了 写一个变量 在ondraw方法里面更改图片就行了
sinat_17841263 2014-08-26
  • 打赏
  • 举报
回复
@Override public boolean onTouchEvent(MotionEvent event) { if(ARData.acc2!=3){ int noshakeWidth = drawSetting.bitnoShake.getWidth()/2; int noshakeHeight = drawSetting.bitnoShake.getHeight()/2; int shakeWidth = drawSetting.bitShake.getWidth()/2; int shakeHeight = drawSetting.bitShake.getHeight()/2; Bitmap bitmap = Bitmap.createBitmap(getWidth(),getHeight(), Config.ARGB_8888) ; Canvas canvas = new Canvas(bitmap); int downx = (int)event.getRawX(); int downy = (int)event.getRawY(); System.out.println("1+"+downx+"2+"+downy); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: if((downx < canvas.getWidth()/2+noshakeWidth && downy < canvas.getHeight()/2+noshakeHeight)&& (downx > canvas.getWidth()/2-noshakeWidth && downy > canvas.getHeight()/2- noshakeHeight)){ canvas.drawBitmap(drawSetting.bitnoShake,canvas.getWidth()/2-noshakeWidth,canvas.getHeight()/2-noshakeHeight,null); System.out.println("jjj"); }else{ canvas.drawBitmap(drawSetting.bitShake,canvas.getWidth()/2-shakeWidth,canvas.getHeight()/2-shakeHeight,null); System.out.println("lll"); } System.out.println("3+"+canvas.getWidth()/2+noshakeWidth+"4+"+canvas.getHeight()/2+noshakeHeight); break; } } return super.onTouchEvent(event); } 在view里面这样写,打印出来的getwidth和getheight大到离谱,居然有几万,是我哪里写错了吗
wangmin06jb 2014-08-26
  • 打赏
  • 举报
回复
我上次做了一个项目,记得不太清除了。判断触发位置是否在图片中==》这个不用判断的,例如有一个ImageView image;直接image.setOnTouchListener(onTouchListener),这样只有点击图片中的位置才会触发事件的
  • 打赏
  • 举报
回复
要看你的界面是怎么画的,如果是ImageView,或者ImageButton,那就直接监听onClick事件就好了吧
sagittarius1988 2014-08-25
  • 打赏
  • 举报
回复
你画bitmap时用到的xy坐标,代表了图片左上角的(X,Y)坐标,对应的右下角坐标就是加上图片的宽高(X+w,Y+h); ontouch里能得到点击的坐标,判断下点击的xy坐标是否在 X--->X+w 和 Y--->Y+h 之间就ok了

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧