画画的玩意
来源:互联网 发布:bi数据分析师要会什么 编辑:程序博客网 时间:2024/04/28 12:49
MainActivity
//本来应该
//setContentView(R.layout.activity_main);
//但是应该修改成以下的代码
setContentView(new PaintView(this));
PaintView类继承一个View类
PaintView extends View
//画笔
private Paint mPaint;
public PaintView(Context context) {
super(context);
init();
}
public PaintView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public PaintView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
/**
* 初始化操作
*/
private void init(){
//创建画笔
mPaint = new Paint();
//设置画笔颜色为黑色
mPaint.setColor(Color.BLACK);
//设置描边宽度,也就是画笔粗度
mPaint.setStrokeWidth(30);
//设置字号
mPaint.setTextSize(40);
//加粗
mPaint.setFakeBoldText(true);
//删除线
mPaint.setStrikeThruText(true);
//抖动效果
mPaint.setDither(true);
//消除锯齿痕迹
mPaint.setAntiAlias(true);
//
Typeface font = Typeface.create(Typeface.SANS_SERIF, Typeface.ITALIC);
mPaint.setTypeface(font);
}
@Override
protected void onDraw(Canvas canvas) {
//绘制一个圆
// canvas.drawCircle(200, 200, 100, mPaint);
//
// //设置画笔颜色为黑色
// mPaint.setColor(Color.RED);
// canvas.drawText("我爱你中国", 280, 280, mPaint);
int size = mPoints.size();
for (int i = 0; i < size; i++) {
PointF p = mPoints.get(i);
canvas.drawCircle(p.x, p.y, mLineWidth, mPaint);
}
}
private float mLineWidth = 30;
//保存路径
private ArrayList<PointF> mPoints = new ArrayList<PointF>();
@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
//记录点击的位置
PointF p = new PointF(x, y);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
//按下状态
case MotionEvent.ACTION_MOVE:
//移动状态
case MotionEvent.ACTION_UP:
mPoints.add(p);
//刷新,调用这个方法会导致onDraw方法再次被执行
invalidate();
//抬起状态
break;
}
return true;
}
- 画画的玩意
- 画画的函数_GDI
- 画画的启示
- 画画的函数_GDI
- 画画
- SVG,复杂的玩意
- 找女朋友的玩意
- 有趣的小玩意
- 天空是个爱画画的孩子
- 写的几个小玩意
- 保护干涉文件的玩意
- 时间的几个小玩意..
- 微软的TransactionScope类是个好玩意
- 打地鼠的小玩意
- Flex的Graphics的画画实例(静态)
- 一个很热爱画画的女孩
- android实现简单的画画板
- 怎样教四岁的孩子学画画
- python核心编程学习笔记-2016-07-28-01-习题6-16
- SourceTree&Git部分名词解释
- phonegap笔记-网络请求
- js细节
- [已解决]Could not allocate CursorWindow '' of size of size 2097152 due to error -12.
- 画画的玩意
- Android Studio上百度地图的显示
- QtQuick学习整理
- 关于linux下的yum简单配置
- 国际数据加密算法IDEA
- 常用类练习提
- 数据结构实验之链表七:单链表中重复元素的删除
- hdu5775 Bubble Sort
- 为什么小猫统计默认使用firebird数据库?