`
xsuo
  • 浏览: 123326 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Touch Screen

阅读更多

今天试了一天,在BookDetail实现public boolean onMotionEvent(MotionEvent event)
一直都没有效果!
晚上才发现,原来要实现触摸方式。必须在自己的view里面实现


贴上一个例子做为参考:

  1. /*
  2. *Copyright(C)2007GoogleInc.
  3. *
  4. *LicensedundertheApacheLicense,Version2.0(the"License");
  5. *youmaynotusethisfileexceptincompliancewiththeLicense.
  6. *YoumayobtainacopyoftheLicenseat
  7. *
  8. *http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. *Unlessrequiredbyapplicablelaworagreedtoinwriting,software
  11. *distributedundertheLicenseisdistributedonan"ASIS"BASIS,
  12. *WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
  13. *SeetheLicenseforthespecificlanguagegoverningpermissionsand
  14. *limitationsundertheLicense.
  15. */
  16. packagecom.google.android.samples.graphics;
  17. importandroid.app.Activity;
  18. importandroid.content.Context;
  19. importandroid.graphics.Bitmap;
  20. importandroid.graphics.Canvas;
  21. importandroid.graphics.Paint;
  22. importandroid.graphics.Rect;
  23. importandroid.os.Bundle;
  24. importandroid.view.MotionEvent;
  25. importandroid.view.View;
  26. //Needthefollowingimporttogetaccesstotheappresources,sincethis
  27. //classisinasub-package.
  28. /**
  29. *Demonstratesthehandlingoftouchscreeneventstoimplementasimple
  30. *paintingapp.
  31. */
  32. publicclassTouchPaintextendsActivity{
  33. @Override
  34. protectedvoidonCreate(Bundleicicle){
  35. super.onCreate(icicle);
  36. setContentView(newMyView(this));
  37. }
  38. publicclassMyViewextendsView{
  39. BitmapmBitmap;
  40. CanvasmCanvas;
  41. privatefinalRectmRect=newRect();
  42. privatefinalPaintmPaint;
  43. privatebooleanmCurDown;
  44. privateintmCurX;
  45. privateintmCurY;
  46. privatefloatmCurPressure;
  47. privatefloatmCurSize;
  48. privateintmCurWidth;
  49. publicMyView(Contextc){
  50. super(c);
  51. mPaint=newPaint();
  52. mPaint.setAntiAlias(true);
  53. mPaint.setARGB(255,255,255,255);
  54. }
  55. @Override
  56. protectedvoidonSizeChanged(intw,inth,intoldw,intoldh){
  57. intcurW=mBitmap!=null?mBitmap.width():0;
  58. intcurH=mBitmap!=null?mBitmap.height():0;
  59. if(curW>=w&&curH>=h){
  60. return;
  61. }
  62. if(curW<w)curW=w;
  63. if(curH<h)curH=h;
  64. BitmapnewBitmap=Bitmap.createBitmap(curW,curH,false);
  65. CanvasnewCanvas=newCanvas();
  66. newCanvas.setDevice(newBitmap);
  67. if(mBitmap!=null){
  68. newCanvas.drawBitmap(mBitmap,0,0,null);
  69. }
  70. mBitmap=newBitmap;
  71. mCanvas=newCanvas;
  72. }
  73. @Override
  74. protectedvoidonDraw(Canvascanvas){
  75. if(mBitmap!=null){
  76. canvas.drawBitmap(mBitmap,0,0,null);
  77. }
  78. }
  79. @Override
  80. publicbooleanonMotionEvent(MotionEventevent){
  81. intaction=event.getAction();
  82. mCurDown=action==MotionEvent.ACTION_DOWN
  83. ||action==MotionEvent.ACTION_MOVE;
  84. mCurX=(int)event.getX();
  85. mCurY=(int)event.getY();
  86. mCurPressure=event.getPressure();
  87. mCurSize=event.getSize();
  88. mCurWidth=(int)(mCurSize*(getWidth()/3));
  89. if(mCurWidth<1)mCurWidth=1;
  90. if(mCurDown&&mBitmap!=null){
  91. intpressureLevel=(int)(mCurPressure*255);
  92. mPaint.setARGB(pressureLevel,255,255,255);
  93. mCanvas.drawCircle(mCurX,mCurY,mCurWidth,mPaint);
  94. mRect.set(mCurX-mCurWidth-2,mCurY-mCurWidth-2,
  95. mCurX+mCurWidth+2,mCurY+mCurWidth+2);
  96. invalidate(mRect);
  97. }
  98. returntrue;
  99. }
  100. }
  101. }
分享到:
评论

相关推荐

    touch screen

    标题中的“touch screen”指的是触摸屏技术,这是一种人机交互方式,允许用户通过手指或专用触控笔在屏幕上直接操作。在嵌入式系统中,触摸屏常常与微控制器(如STM32F429)相结合,为设备提供直观的用户界面。 ...

    Pro Android学习:touch screen小例子

    在Android开发领域,触摸屏(Touch Screen)交互是构建用户界面不可或缺的一部分。"Pro Android学习:touch screen小例子"是一个教程,旨在帮助开发者理解和实践如何在Android应用中处理触摸事件和手势识别。在这个...

    touch_screen_driver_for2410.rar_2410_Touch Screen_触摸屏_触摸屏 2410_触

    标题中的"touch_screen_driver_for2410.rar_2410_Touch Screen_触摸屏_触摸屏 2410_触"指的是一个针对Samsung 2410处理器的触摸屏驱动程序的压缩包。这个驱动是为搭载uC/OS-II实时操作系统(RTOS)的开发板设计的,...

    I2C Touch Screen Controller AK4183

    《I2C触屏控制器AK4183详解》 AK4183是一款四线式电阻触摸屏控制器,其核心是12位SAR型模数转换器(ADC),适用于2.5V至3.6V的低电压操作。这款控制器通过执行两次A/D转换来检测屏幕被按压的位置,同时还能测量触碰...

    touch src_4.rar_Touch Screen_tsc2003_触摸屏_触摸屏 资料_触摸屏资料

    标题中的“touch src_4.rar_Touch Screen_tsc2003_触摸屏_触摸屏 资料_触摸屏资料”表明这是一个关于触摸屏技术的压缩包,特别是聚焦于TSC2003控制器的资料集合。描述提到“触摸屏资料4”,暗示这是一个系列教程或...

    夹纸式Touch Screen 样品机.rar

    【标题】"夹纸式Touch Screen 样品机.rar" 提供的是一个关于触摸屏样机的压缩包,其中可能包含该样机的设计图纸、电路原理图、软件配置等相关资料。"Touch Screen"指的是触控屏幕,是人机交互的重要设备,广泛应用在...

    ts.rar_Touch Screen_触摸屏

    【标题】"ts.rar"是一个压缩包文件,其主题为"Touch Screen_触摸屏",意味着它包含了关于触摸屏技术的编程代码。这份资源可能是由一位行业专家编写的,因此对于学习和理解触摸屏的软件实现具有很高的价值。 【描述...

    3M DIGITECH touch Screen外观判定标准

    3M & DIGITECH touch Screen外观判定标准

    松下PLC程序源码-夹纸式Touch Screen 样品机.zip

    【标题】中的“松下PLC程序源码-夹纸式Touch Screen 样品机”表明这是一个关于松下(Panasonic)可编程逻辑控制器(PLC)的编程项目,主要用于控制一种采用触屏操作的夹纸式机械设备。PLC是工业自动化领域的核心设备...

    aa.rar_AVR打地鼠_avr touch_avr touch screen_ucos_打地鼠

    本项目名为"aa.rar_AVR打地鼠_avr touch_avr touch screen_ucos_打地鼠",它是一个基于AVR微控制器和触摸屏的打地鼠小游戏,巧妙地结合了硬件控制与实时操作系统UCOS,为用户带来独特的体验。 首先,我们来了解一下...

    Test Touch Screen

    Test the Tourch Screen on the embedded system

    TP_TEST.rar_2046_2046 tp_LCD Panel_touch screen mobile _触摸屏 2046

    标题中的“TP_TEST.rar_2046_2046 tp_LCD Panel_touch screen mobile _触摸屏 2046”表明这是一个与2046触摸屏相关的项目,可能包含了测试资源,具体是针对手机屏幕的液晶显示模组(LCD Panel)和触控屏幕的驱动程序...

    cgi.rar_avr touch screen_bascom_c cgi_触摸屏

    标题中的“cgi.rar_avr touch screen_bascom_c cgi_触摸屏”暗示了这是一个关于使用AVR微控制器、Bascom编程环境以及CGI(Common Gateway Interface)技术来实现触摸屏功能的项目。在这个项目中,开发者可能使用了...

    s3c6410硬件ADC & TOUCH SCREEN INTERFACE(AD转化和触摸屏接口)

    触摸屏接口(Touch Screen Interface, TSI)则是S3C6410处理器用于处理外部触摸屏输入的关键部分。它通过控制XP、XM、YP和YM四个输入引脚来获取触摸屏上的X/Y坐标位置。TSI由三个主要模块构成:触摸屏引脚控制逻辑、...

    s3c2410 touch screen driver code

    综上所述,"s3c2410 touch screen driver code"涉及的知识面广泛,涵盖了硬件接口、中断处理、数据通信、操作系统内核交互等多个方面。理解并实现这样的驱动需要对嵌入式系统、Linux内核以及特定硬件平台有深入的...

    神基科技-Getac For Vista_Touch Screen Driver_4.3.8.4207_P470.zip

    神基科技-Getac For Vista_Touch Screen Driver_4.3.8.4207_P470zip,神基科技-Getac For Vista_Touch Screen Driver_4.3.8.4207_P470

    神基科技-Getac For XP_Touch Screen Driver_4.3.8.3808_P470.zip

    神基科技-Getac For XP_Touch Screen Driver_4.3.8.3808_P470zip,神基科技-Getac For XP_Touch Screen Driver_4.3.8.3808_P470

    java_touch_screen_code.java.zip_j2me touch_j2me touch screen_tou

    在这个特定的上下文中,`java_touch_screen_code.java.zip` 是一个包含有关如何在Java ME应用程序中处理触摸屏事件的代码示例的压缩文件。`j2me_touch_j2me_touch_screen_tou` 可能是该压缩文件的主题或关键词,强调...

    touch screen palm rejection

    ### 触摸屏掌部误触防止技术详解 #### 一、引言 在现代电子设备日益普及的背景下,触摸屏已成为人们与设备交互的重要方式之一。然而,在使用过程中,尤其是当用户手持设备进行书写时,经常会遇到一个问题:手掌或...

    Android触屏测试程序

    Touch Screen Test 1.6.12.

Global site tag (gtag.js) - Google Analytics