android怎么实现多点触摸应用
android怎么实现多点触摸应用
本篇内容介绍了“android怎么实现多点触摸应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
JhkMultiTouchActivity.java
packagecom.android.forlinx;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.Window;importandroid.view.WindowManager;publicclassJhkMultiTouchActivityextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//setContentView(R.layout.main);//隐藏标题栏requestWindowFeature(Window.FEATURE_NO_TITLE);//设置成全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置为上面的MTViewsetContentView(newMTView(this));}}
MTView.java
packagecom.android.forlinx;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Paint;importandroid.graphics.Typeface;importandroid.view.MotionEvent;importandroid.view.SurfaceHolder;importandroid.view.SurfaceView;publicclassMTViewextendsSurfaceViewimplementsSurfaceHolder.Callback{privatestaticfinalintMAX_TOUCHPOINTS=10;privatestaticfinalStringSTART_TEXT="请随便触摸屏幕进行测试";privatePainttextPaint=newPaint();privatePainttouchPaints[]=newPaint[MAX_TOUCHPOINTS];privateintcolors[]=newint[MAX_TOUCHPOINTS];privateintwidth,height;privatefloatscale=1.0f;publicMTView(Contextcontext){super(context);SurfaceHolderholder=getHolder();holder.addCallback(this);setFocusable(true);//确保我们的View能获得输入焦点setFocusableInTouchMode(true);//确保能接收到触屏事件init();}privatevoidinit(){//初始化10个不同颜色的画笔textPaint.setColor(Color.GREEN);textPaint.setTypeface(null);textPaint.setAlpha(200);colors[0]=Color.BLUE;colors[1]=Color.RED;colors[2]=Color.GREEN;colors[3]=Color.YELLOW;colors[4]=Color.CYAN;colors[5]=Color.MAGENTA;colors[6]=Color.DKGRAY;colors[7]=Color.WHITE;colors[8]=Color.LTGRAY;colors[9]=Color.GRAY;for(inti=0;iMAX_TOUCHPOINTS){pointerCount=MAX_TOUCHPOINTS;}//锁定Canvas,开始进行相应的界面处理Canvasc=getHolder().lockCanvas();if(c!=null){c.drawColor(Color.BLACK);if(event.getAction()==MotionEvent.ACTION_UP){//当手离开屏幕时,清屏}else{//先在屏幕上画一个十字,然后画一个圆for(inti=0;i height){this.scale=width/480f;}else{this.scale=height/480f;}textPaint.setTextSize(14*scale);Canvasc=getHolder().lockCanvas();if(c!=null){//背景黑色c.drawColor(Color.BLACK);floattWidth=textPaint.measureText(START_TEXT);c.drawText(START_TEXT,width/2-tWidth/2,height/2,textPaint);getHolder().unlockCanvasAndPost(c);}}publicvoidsurfaceCreated(SurfaceHolderholder){}publicvoidsurfaceDestroyed(SurfaceHolderholder){}}
效果图
“android怎么实现多点触摸应用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注恰卡编程网网站,小编将为大家输出更多高质量的实用文章!
推荐阅读
-
我的世界windows版怎么下载手机版
-
android(如何快速开发框架 小米note开发版MIUI,安卓6.0,怎么安装Xposed框架)
稳定版,你必须先根除。你上网搜索安卓可以叫别人s框架,对方可以把框架做成jar包,把这个jar包加载到项目目录的libs文件中使...
-
android(studio 虚拟机启动不了 android studio可以当模拟器用吗)
androidstudio可以当模拟器用吗?AmdCUP引导模拟器有点复杂。雷电模拟器上的抖音怎么登录不上?不是,闪电模拟调用...
-
从实践中学习手机抓包与数据分析(android 手机抓包app)
android手机抓包app?netcapture抓包精灵app(手机抓包工具)又名sslcapture,是什么专业的安卓手机抓...
-
android(studio全局搜索 android studio怎么看app界面)
androidstudio怎么看app界面?在设备桌面点击运用直接进入到App界面,就也可以参与其他你的操作了。android-...
-
怎么把android框架源代码拉到本地(android studio如何运行别人的源代码)
androidstudio如何运行别人的源代码?androidstudio点击刚建在列表中你选择导入module,导入即可在用...
-
android(studio2022年使用教程 怎么安装Android studio详细教程)
怎么安装Androidstudio详细教程?androidstudio中haxm直接安装的方法追加:1、简单的方法打开Andr...
-
怎么使用Android基准配置文件Baseline Profile方案提升启动速度
怎么使用Android基准配置文件Baseline Profile方案提升启动速度...
-
HTML5如何实现禁止android视频另存为
HTML5如何实现禁止android视频另存为今天小编给大家分享一...
-
学java好还是学php好?