Android触屏事件处理—2

/**
* Called when the activity is first created
*/
@Override
protected void onCreate(Bundle instance)
{
super.onCreate(instance);
setContentView(new TouchMotionView(this));
}

/**
* 思路:先加载类,继承view
* 定义半径,x、y轴 , Paint绘画工具对象、action_value Motion Action值
* 构造对象,初始化x、y轴 ,action_value
* 初始化画布
* 定义onTouchEvent事件处理
*
* 触屏控制显示画布 在画布上绘制小球
*
* @author mickey
* @version 1.0, 2012-8-2
* @since NLP V100R001C01
*/
private class TouchMotionView extends View
{

private int RADIUS = 10;

private Paint myPaint = new Paint();

private int action_value;

private float x_value, y_value;

/**
* constructor
*
* @param
* @throws
* @since NLP V100R001C01
*/
public TouchMotionView(Context context)
{
super(context);

action_value = MotionEvent.ACTION_UP;

x_value = 0;
y_value = 0;
}

/**
* 获取坐标点 在画布上绘制小球
* @param canvas
*/
@Override
protected void onDraw(Canvas canvas)
{
Paint paint = myPaint;

canvas.drawColor(R.color.red);

if (MotionEvent.ACTION_MOVE == action_value) // 移动动作
{
paint.setColor(Color.RED);
}
else if (MotionEvent.ACTION_UP == action_value) // 抬起动作
{
paint.setColor(Color.WHITE);
}
else if (MotionEvent.ACTION_DOWN == action_value) // 按下动作
{
paint.setColor(Color.GREEN);
}

canvas.drawCircle(x_value, y_value, RADIUS, paint); //半径长度
setTitle("Action = " + action_value + " ["+ x_value +","+ y_value +"]");
}

@Override
public boolean onTouchEvent(MotionEvent event)
{
action_value = event.getAction(); // 获得动作

x_value = event.getX(); // 获得坐标
y_value = event.getY();

invalidate(); // 重新绘制
return true;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值