android 自定义view实现圆盘抽奖的效果

本文介绍如何在Android中通过自定义View来实现一个圆盘抽奖的效果。主要内容包括在Activity中的逻辑处理以及布局文件的设置,其中布局包含一个Button和背景图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

废话不多说直接上代码。




import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.RectF;
import android.os.Handler;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;



public class ZhuanpanView extends View implements OnGlobalLayoutListener {

	private int width; // 转盘宽度
	private int padding; // 转盘内边距
	private int radius;// 半径
	private RectF rect; // 圆形矩形区域
	private Paint paint; // 图形画笔
	private Paint painttext; // 文字画笔
	private float angle = 0; // 起始旋转角度
	private int count = 8;// 扇形个数
	private float shanxingangle; // 扇形角度
	private String[] jianzhi = { "谢谢参与", "4999", "200", "50", "500", "9999",
			"100", "500" }; // 价值
	private String[] jianzhimc = { "豆差一点儿", "流量豆", "经验值", "流量豆", "流量豆", "流量豆",
			"流量豆", "经验值" }; // 价值名称
	private float speed = 0; // 每次旋转角度
	private float decrease = 1;
	private int jg = 50;
	private Handler handler = new Handler();

	public static final int NOMEAL = 0; // 正常状态
	public static final int ZHUANING = 1; // 正在转
	public static final int ENDING = 2; // 正在停止
	private int s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值