LZ要学会看sdk中的apidemo....里面有个touchpaint,讲触摸画图的
解决方案 »
- android 中怎么很好的解决setOnClickListener和setOnTouchListener冲突
- android 新浪微博 开发 认证 出错 老是无反应
- Android机器如何局域网访问sqlite数据库
- 为什么!为什么AVD模拟器总是输出第一次的运行结果???
- 一个TabHost能不能只有一个activity,还是分别每个tab都要有
- android 如何获取手机信号详细值
- 请教:Android中的Activity和Service是否属于同一个进程
- 我的百度地图程序一启动就退出了
- 和视频里一样的代码,自己写出来却不能运行,并且没有报错,求指教
- Android debug调试
- 如何监控手机的闹铃?
- 我想开始学习Linux网络编程和android开发,希望大家给点指点!
@Override public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
mCurDown = action == MotionEvent.ACTION_DOWN
|| action == MotionEvent.ACTION_MOVE;
int N = event.getHistorySize();
for (int i=0; i<N; i++) {
//Log.i("TouchPaint", "Intermediate pointer #" + i);
drawPoint(event.getHistoricalX(i), event.getHistoricalY(i),
event.getHistoricalPressure(i),
event.getHistoricalSize(i));
}
drawPoint(event.getX(), event.getY(), event.getPressure(),
event.getSize());
return true;
}
private void drawPoint(float x, float y, float pressure, float size) {
mCurX = (int)x;
mCurY = (int)y;
mCurPressure = pressure;
mCurSize = size;
mCurWidth = (int)(mCurSize*(getWidth()/3));
if (mCurWidth < 1) mCurWidth = 1;
if (mCurDown && mBitmap != null) {
int pressureLevel = (int)(mCurPressure*255);
mPaint.setARGB(pressureLevel, 255, 255, 255);
mCanvas.drawCircle(mCurX, mCurY, mCurWidth, mPaint);
mRect.set(mCurX-mCurWidth-2, mCurY-mCurWidth-2,
mCurX+mCurWidth+2, mCurY+mCurWidth+2);
invalidate(mRect);
}
mFadeSteps = 0;
}