我创建了一个圆形按钮,可以在调用函数时更改颜色.我想要的是创建另一个,创建相同的圆形按钮,但径向渐变从中间开始选择颜色,当你离开圆圈时,它会变为透明.
我使用在如何设置渐变样式来绘制对象时发布了一个类似的代码?但是没有用.
我尝试的代码是这个porpuse是:
mPaint.setShader(new RadialGradient(0, 0, height/3, Color.BLACK, Color.TRANSPARENT, Shader.TileMode.MIRROR));
Run Code Online (Sandbox Code Playgroud)
以下类是我为圆形按钮创建的类.
public class ColorGradientCircleButton extends View{
private Paint mPaint;
private Paint mBitmapPaint;
private Bitmap mBitmap;
private Canvas mCanvas;
private int width, height;
public ColorGradientCircleButton(Context context) {
super(context);
init();
}
public ColorGradientCircleButton(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public ColorGradientCircleButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private void init() {
mPaint = new Paint();
mPaint.setColor(Color.BLACK);
mPaint.setStrokeWidth(1);
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
mBitmapPaint = new …Run Code Online (Sandbox Code Playgroud) 我正在使用计时器(10秒钟)System.currentTimemillis.我有一个方法,每秒刷新10次以下代码:
Start是活动的开始时间,它在onCreate方法中被"询问".我知道这很Integer.parseInt(Long.toString(y))有效,因为当我这样做时,我会System.out.println(Integer.parseInt(Long.toString(y)));正确回报时间.
所以,我的问题是我不知道为什么swich不能正常工作.
long y=System.currentTimeMillis()-start;
switch (Integer.parseInt(Long.toString(y))) {
case 1000:
time.setText("3");
time.setAnimation(anim);
break;
case 2000:
time.setText("2");
time.setAnimation(anim);
break;
case 3000:
time.setText("1");
time.setAnimation(anim);
break;
case 4000:
time.setText("GOOO!");
time.setAnimation(anim);
count.setVisibility(View.VISIBLE);
cuenta = 0;
count.setText("0");
break;
case 5000:
time.setText("1");
time.setAnimation(anim);
break;
case 6000:
time.setText("2");
time.setAnimation(anim);
break;
case 7000:
time.setText("3");
time.setAnimation(anim);
break;
case 8000:
time.setText("4");
time.setAnimation(anim);
break;
case 9000:
time.setText("5");
time.setAnimation(anim);
break;
case 10000:
time.setText("Time!");
time.setAnimation(anim);
count.setVisibility(View.INVISIBLE);
break;
}
Run Code Online (Sandbox Code Playgroud)