Я работаю над этим экраном обратной связи, где мне нужно реализовать пользовательскую панель рейтинга. Проведя небольшое исследование, я обнаружил, что этот метод — именно то, что мне нужно. На данный момент я получаю две разные полосы рейтинга в накладывающейся манере. Я хочу скрыть панель рейтинга по умолчанию, предоставляемую Android, и я знаю, почему это происходит. Я не могу скрыть панель рейтинга. Я пробовал getProgressDrawable().setVisible(false, false)
, но это бесполезно.
Вот код моего переопределенного метода 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 по умолчанию, наложенную на мою пользовательскую панель рейтинга.
Спасибо!