您当前的位置: 首页 >  动画

命运之手

暂无认证

  • 2浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android】【绘图】绘制波浪线动画

命运之手 发布时间:2018-09-25 18:39:55 ,浏览量:2

package com.easing.test;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.view.View;

import com.easing.commons.android.format.TimeUtil;
import com.easing.commons.android.service.BitmapUtil;
import com.easing.commons.android.service.ViewUtil;
import com.easing.commons.android.value.ColorUtil;

public class DrawableView extends View {
	
	private Paint textPaint;
	private Paint linePaint;
	private Paint fillPaint;
	private Paint strokePaint;
	private Bitmap bitmap;
	
	private int screenWidth;
	private int screenHeight;
	
	public DrawableView(Context context) {
		super(context);
		init(context, null, 0);
	}
	
	public DrawableView(Context context, AttributeSet attrSet) {
		super(context, attrSet);
		init(context, attrSet, 0);
	}
	
	public DrawableView(Context context, AttributeSet attrSet, int style) {
		super(context, attrSet, style);
		init(context, attrSet, style);
	}
	
	private void init(Context context, AttributeSet attrSet, int style) {
		textPaint = new Paint();
		textPaint.setAntiAlias(true);
		textPaint.setStyle(Paint.Style.FILL);
		textPaint.setColor(ColorUtil.LIGHT_BLUE);
		textPaint.setTextSize(40);
		textPaint.setTypeface(Typeface.create(Typeface.MONOSPACE, Typeface.NORMAL));
		
		linePaint = new Paint();
		linePaint.setStyle(Paint.Style.STROKE);
		linePaint.setStrokeWidth(5);
		linePaint.setColor(ColorUtil.LIGHT_BLUE);
		
		fillPaint = new Paint();
		fillPaint.setStyle(Paint.Style.FILL);
		fillPaint.setColor(ColorUtil.YELLOW);
		
		strokePaint = new Paint();
		strokePaint.setStyle(Paint.Style.STROKE);
		strokePaint.setStrokeWidth(5);
		strokePaint.setColor(ColorUtil.RED);
		
		bitmap = BitmapUtil.getBitmap(context, R.drawable.float_icon_camera_normal);
		
		screenWidth = ViewUtil.getScreenSize(context).w;
		screenHeight = ViewUtil.getScreenSize(context).h;
	}
	
	@Override
	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		
		Path path = new Path();
		//绘制起点
		double offset = -500 + TimeUtil.millisOfNow() % 3000 / 3000d * 500;
		path.moveTo((int) offset, screenHeight / 2);
		//循环绘制屏幕曲线
		for (int length = 0; length             
关注
打赏
1654938663
查看更多评论
0.0510s