Android刮刮卡效果
来源:互联网 发布:网络教学人物素描视频 编辑:程序博客网 时间:2024/04/25 03:26
package cn.fly.refreshlayout.demo.ui.activity;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.graphics.PorterDuff.Mode;import android.graphics.PorterDuffXfermode;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.util.DisplayMetrics;import android.view.MotionEvent;import android.view.View;/** * Created by Fly0116 on 2016/4/27 0027. */public class GuaGuaCardActivity extends Activity{ int screenWidth = 0; int screenHeight = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); screenWidth = dm.widthPixels; screenHeight = dm.heightPixels; setContentView(new GuaGuaKa(this)); } class GuaGuaKa extends View { private Canvas mCanvas = null; private Path mPath = null; private Paint mPaint = null; private Bitmap bitmap = null; public GuaGuaKa(Context context) { super(context); init(context); } private void init(Context context) { setBackground(); mPath = new Path(); bitmap = Bitmap.createBitmap(screenWidth, screenHeight, Bitmap.Config.ARGB_8888); mPaint = new Paint(); mPaint.setFlags(Paint.ANTI_ALIAS_FLAG); mPaint.setAntiAlias(true); mPaint.setDither(true); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeWidth(10); mPaint.setStrokeCap(Paint.Cap.BUTT.ROUND); mPaint.setStrokeJoin(Paint.Join.ROUND); mPaint.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); mPaint.setAlpha(0); mCanvas = new Canvas(bitmap); mCanvas.drawColor(Color.GRAY); } private void setBackground() { Paint paint = new Paint(); Bitmap bitmap = Bitmap.createBitmap(screenWidth,screenHeight, Bitmap.Config.ARGB_8888); paint.setTextSize(30); paint.setColor(Color.BLACK); paint.setFlags(Paint.ANTI_ALIAS_FLAG); paint.setAntiAlias(true); Canvas canvas = new Canvas(bitmap); canvas.drawColor(Color.WHITE); canvas.drawText("谢谢惠顾", 100, 100, paint); canvas.drawText("再来10瓶", 100, 250, paint); setBackgroundDrawable(new BitmapDrawable(getResources(), bitmap)); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); mCanvas.drawPath(mPath, mPaint); canvas.drawBitmap(bitmap, 0, 0, null); } int x = 0; int y = 0; @Override public boolean onTouchEvent(MotionEvent event) { int action = event.getAction(); int currX = (int) event.getX(); int currY = (int) event.getY(); switch(action){ case MotionEvent.ACTION_DOWN:{ mPath.reset(); x = currX; y = currY; mPath.moveTo(x, y); }break; case MotionEvent.ACTION_MOVE:{ mPath.quadTo(x, y, currX, currY); x = currX; y = currY; postInvalidate(); }break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL:{ mPath.reset(); }break; } return true; } } }}
0 0
- Android刮刮卡效果
- Android刮刮卡效果
- android刮刮卡效果
- Android 实现刮刮卡效果
- Android开发-刮刮卡效果
- Android 刮刮卡效果
- Android 刮刮卡实现效果
- android 刮刮卡效果
- Android刮刮卡效果
- android刮刮卡效果
- Android实现刮刮卡效果
- Android自定义实现刮刮卡效果
- Android Xfermode类似于刮刮卡效果
- Android实现简单刮刮卡效果
- PorterDuffXfermode实现Android刮刮卡效果
- Android自定义View-刮刮卡效果
- android效果
- Android 自定义控件实现刮刮卡效果
- Lucene5.2中的QueryWrapperFilter用法
- Ethernet Channel
- c++作业4
- 关于DIV css样式宽度设成百分比怎么在浏览器中获得它的像素
- Java对大中小型系统都适用
- Android刮刮卡效果
- ios获取点击屏幕的位置
- 分享到微信等门户网站代码
- Shell教程
- Java的内存管理实际上就是对象的管理
- ny106背包问题
- Android Studio编译输出apk文件修改文件名
- TextKit学习(四)通过boundingRectWithSize:options:attributes:context:计算文本尺寸
- 使用万能框架HttpHelper抓取安卓APP数据