android 渐变圆形按钮,android-ui-android中的圆锥形渐变圆

当然,使用SweepGradient,然后在画布上绘制一个.

可以找到一个示例here.玩得开心!

如果不需要太多颜色,也可以通过xml进行定义:

/res/drawable/sweepgradient.xml:

a:shape="oval"

a:dither="true">

a:startColor="#FFFF0000"

a:centerColor="#FF0000FF"

a:endColor="#FF00FF00" />

SweepGradient是本机组件,因此您不能依赖Java舒适的堆栈跟踪.如果遇到非堆栈跟踪错误,请首先检查所有本机组件.

这是一个简单的示例:

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.SweepGradient;

import android.view.View;

public class GradientView extends View {

// Edit these values as you want!

private static int[] mColors={Color.RED, Color.GREEN, Color.BLUE};

private Paint mPaint=new Paint();

private boolean mSetShader=false;

public GradientView(Context context) {

super(context);

mPaint.setAntiAlias(true);

}

@Override

protected void onDraw(Canvas canvas) {

float cX=getWidth()/2F, cY=getHeight()/2F;

if (!mSetShader) {

mPaint.setShader(new SweepGradient(cX, cY, mColors, null));

mSetShader=true;

}

canvas.drawCircle(cX, cY, Math.min(cX, cY), mPaint);

}

}

请注意,如果中心发生更改(如果视图调整大小),则可能不需要重新创建SweepGradient.为了简单起见,我省略了其他构造函数和onMeasure.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值