1
我正在这个反馈屏幕上,我必须实现自定义评级栏。做了一些研究后,我发现this方法就是我所需要的。在这一点上,我以叠加的方式得到两个不同的评级栏。我想隐藏android提供的默认评级栏,我知道为什么会发生这种情况。我无法隐藏评分栏。我试过getProgressDrawable().setVisible(false, false)
但它没用。Android自定义评分栏显示默认
下面是我重写onDraw(Canvas c);
方法的代码:
@Override
protected synchronized void onDraw(Canvas canvas)
{
int stars = getNumStars();
float rating = getRating();
try
{
bitmapWidth = getWidth()/stars;
}
catch (Exception e)
{
bitmapWidth = getWidth();
}
float x = 0;
for (int i = 0; i < stars; i++)
{
Bitmap bitmap;
Resources res = getResources();
Paint paint = new Paint();
if ((int) rating > i)
{
bitmap = BitmapFactory.decodeResource(res, R.drawable.filled_star);
}
else
{
bitmap = BitmapFactory.decodeResource(res, R.drawable.unfilled_star);
}
Bitmap scaled = Bitmap.createScaledBitmap(bitmap, getHeight(), getHeight(), true);
canvas.drawBitmap(scaled, x, 0, paint);
paint.setColor(Color.WHITE);
paint.setTextSize(20f);
canvas.drawText(String.valueOf(i), x+33, 83, paint);
canvas.save();
x += bitmapWidth;
}
super.onDraw(canvas);
}
我只是想隐藏的Android违约评级酒吧覆盖我自定义的等级栏上。
谢谢!
我想这一点。但现在它只显示了两个评分栏,我的star_filled和star_unfilled。 –