android 眨眼效果

这篇博客介绍了一个使用sin函数实现的Android自定义控件,该控件能够产生眨眼效果,背景与眼皮颜色协调,动态效果显著。
摘要由CSDN通过智能技术生成

该控件通过sin函数图像变化实现动态,背景颜色和眼皮颜色一致,效果如下


//具体代码

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import android.os.Handler;
import android.util.AttributeSet;
import android.view.View;

/**
 * 自定义的View类,为两个球的碰撞模拟
 */
class EyesJFrame extends View {
	// 设置角度值,同时也就眼睛的横坐标长度
	int angle = 250;
	// 因为眨眼采用的sin()函数组成,所以其自然有幅值这一个属性。
	int amplitude = 40;
	// 创建一个用于保存幅值的变化的变量,采用amplitude的缩写ampl
	int ampl = 0;
	// 判断是否到了幅值的临界值,由线程维护
	boolean flag = true;
	// 定义中心点坐标
	int centerX = 1024 / 2;
	int centerY = 768 / 2;
	// 创建统一的颜色背景
	int color = Color.GRAY;
	// 灰眼球的半径初始值
	int blackBallSemi = 25;

	Paint mPaint = new Paint();
	Handler mhandler;
	boolean first = true;

	private int eyeDis = (int) (angle/2*1.5);//两眼距离

	int degree = 0;//眼球转动角度
    int leftX = centerX+eyeDis;//左眼初始化坐标
	int RightX = centerX-eyeDis;//右眼初始化坐标
	private Point pointLeft = new Point(),
			pointRight = new Point(),
    		centerLeft = new Point(),//左右中心坐标
    		centerRight = new Point(),//右眼中心坐标
    		tempLeft = new Point(),//左眼球坐标
    		tempRight = new Point();//有眼球坐标
	public EyesJFrame(Context context, AttributeSet attrs) {
		super(context, attrs);
		startRun();
		mhandler = new Handler();
		color = context.getColor(R.color.skin);//初始化背景颜色
	}

	@Override
	protected void onMeasure(int widthMeasureSpec, int heig
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值