本实例实现的多点触控,当用户一个手指点击屏幕时,显示的是一个触控动作,两个手指点击显示两个,没有则显示为0.
下面给出实现的截图对比:


下面给出本实例的源代码:
package irdc.ex07_20;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.TextView;
public class EX07_20 extends Activity
{
private TextView myText1;
private TextView myText2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* 加载main.xml Layout */
setContentView(R.layout.main);
/* TextView初始化 */
myText1=(TextView)findViewById(R.id.text1);
myText2=(TextView)findViewById(R.id.text2);
}
/* 重写onTouchEvent() */
@Override
public boolean onTouchEvent(MotionEvent event)
{
/* 显示触碰点的数量 */
myText2.setText(""+event.getPointerCount());
/* event的Action?断 */
switch(event.getAction())
{
/* 触碰事件发生 */
case MotionEvent.ACTION_DOWN:
myText1.setText(getResources().getString(R.string.act1));
break;
/* 触碰事件结束 */
case MotionEvent.ACTION_UP:
myText1.setText(getResources().getString(R.string.act2));
/* 显示点数为0 */
myText2.setText("0");
break;
/* 第1个触碰点被按下 */
case MotionEvent.ACTION_POINTER_1_DOWN:
myText1.setText(getResources().getString(R.string.act3));
break;
/* 第1个触碰点被移除 */
case MotionEvent.ACTION_POINTER_1_UP:
myText1.setText(getResources().getString(R.string.act4));
break;
/* 第2个触碰点被按下 */
case MotionEvent.ACTION_POINTER_2_DOWN:
myText1.setText(getResources().getString(R.string.act5));
break;
/* 第2个触碰点被移除 */
case MotionEvent.ACTION_POINTER_2_UP:
myText1.setText(getResources().getString(R.string.act6));
break;
default:
break;
}
return super.onTouchEvent(event);
}
}
布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text1"
android:textSize="24sp"
android:textColor="#FFFFFF"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="请触碰屏幕以触发事件"
/>
<TextView
android:id="@+id/text2"
android:textSize="80sp"
android:textColor="#FFFFFF"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="0"
/>
</FrameLayout>
分享到:
相关推荐
总的来说,TouchScript为Unity开发者提供了一个强大的多点触控工具,通过它,开发者可以专注于游戏逻辑的设计,而不是底层触摸事件的处理。无论是简单的触摸响应还是复杂的交互逻辑,TouchScript都能帮助你轻松实现...
在Android系统中,多点触控主要通过MotionEvent类来处理,它可以捕捉到多个手指同时在屏幕上的动作。 二、关键类与接口 1. MotionEvent:Android中的事件类,用于表示屏幕上发生的触摸事件,包括ACTION_DOWN、...
在Android中,可以使用GestureDetector和ScaleGestureDetector来捕捉类似的事件。 2. **手势识别**:当用户触摸屏幕时,系统会触发相应的手势事件。我们需要编写回调函数来处理这些事件,例如在捏合手势中,我们...
首先,实现多点触控需要监听`MotionEvent`,这是Android系统提供的处理触摸事件的类。当用户在屏幕上触摸时,系统会发送一系列`MotionEvent`事件到相应的视图。我们需要重写`View`的`onTouchEvent`方法来处理这些...
2. **状态管理**:在多点触控中,需要维护一个手指状态数组,记录每个手指的ID和位置,以便在ACTION_MOVE事件中计算手指间的相对位置变化。 3. **平滑滚动**:为了提供流畅的滑动体验,可以使用Scroller或Animator...
在安卓平台上,手势识别和多点触控是用户...总之,“安卓手势放大图片,多点触控”是Android开发中的高级交互技术,它极大地提高了用户体验。通过理解和实践这些概念,开发者可以创建更加生动、直观的应用程序界面。
这篇PPT教学课件主要介绍了几种新兴的科技应用,包括增强现实(AR)、多点触控大屏、蓝牙技术和近场通信(NFC)等。这些技术正在改变我们的生活方式,尤其是在娱乐、信息获取和交互体验方面。 首先,AR增强现实是一...
- 处理多点触控事件通常涉及`ACTION_POINTER_DOWN`和`ACTION_POINTER_UP`等额外的动作类型。 6. **手势识别** - Android提供了`GestureDetector`和`ScaleGestureDetector`等类,帮助开发者识别常见的手势,如滑动...
类中可能有一个触摸事件监听器,用于捕捉用户的多点触控操作,如双指捏合手势,以此来调整字体大小。 3. **res**: 资源目录存储了应用的所有非代码资源,如布局文件(layout)、图片(drawable)、字符串(string)...
Android 支持多点触控,即同时处理多个手指的触摸事件。MotionEvent 提供了获取触摸点数量(getPointerCount)和每个点坐标(getPointerId 和 getX/Y)的方法,方便开发者处理多指操作,如缩放、旋转等手势。 六、...
- **多点触控支持**:本例仅支持单点触控,如果需要支持多点触控,则需要对代码进行相应扩展。 - **边界检测**:为了避免控件移出屏幕范围,可以在`ACTION_MOVE`中增加边界检测逻辑。 通过以上步骤,我们可以实现一...
除了基本的单点触摸事件,Android还支持多点触控。`ACTION_POINTER_DOWN`和`ACTION_POINTER_UP`分别表示额外的手指按下和抬起,配合`MotionEvent`的`getActionIndex()`和`getPointerId()`方法可以区分不同的手指。 ...
- Android支持多点触控,可以通过`MotionEvent`的`getPointerCount()`和`getPointerId()`方法处理多个手指同时绘制的情况。 8. **颜色选择器与工具栏**: - 多数涂鸦应用会有颜色选择、画笔大小调整等功能,这些...
开发者可以使用`MotionEvent`的`getPointerCount()`和`getActionIndex()`等方法来识别和处理多点触控事件。 在`android-touchexample`项目中,你可以找到实际的代码示例,了解如何在实践中应用这些概念。通过研究...
当用户在屏幕上触摸时,事件首先由硬件层的触控传感器捕捉,然后转换为Android系统可识别的事件对象。这些事件主要包括ACTION_DOWN(手指按下)、ACTION_MOVE(手指移动)和ACTION_UP(手指抬起)等。 2. ...
在Android开发中,触摸事件是用户与屏幕交互的基础,它涉及到事件传递机制、手势识别以及自定义绘图等核心知识点。本篇文章将深入探讨“Android绘图中的触摸事件处理”。 一、触摸事件处理机制 Android系统通过...
开发者需要确保即使在多点触控设备上,也能有效地防止误触导致的解锁。此外,应该有重试限制和锁定机制,以防连续失败的解锁尝试。 6. **源码学习价值**: - 这个源码可以作为深入理解Android事件处理、视图绘制、...
- **多点触控支持**:支持多个手指同时触摸屏幕,并能够准确识别每个触摸点的位置和移动轨迹。 - **多种手势识别**:支持滑动、缩放、旋转等多种常用手势,以及自定义手势的创建。 - **高度可定制化**:用户可以根据...
多点触控是现代触摸屏的一个关键特性,允许用户同时用多个手指操作屏幕。测试程序会验证这一点,包括两指缩放、旋转、拖放等手势。 4. **触摸屏响应时间** 测试程序会测量从触摸事件发生到屏幕响应的时间,以评估...