Есть необходимость на табе отображать счетчик дополнительно к изображению таба ( номер в кружке).
Если при инициализации TabSpec в TabHost указывать Drawable, загруженный с ресурсов, то изображение на табе отображается корректно:
TabHost tabHost = getTabHost();
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("Tab1", getResources().getDrawable(R.drawable.tab1_icon)).setContent(R.id.tab1_list));
Если же использовать свой RadiusDrawable класс, то на табе ничего не отображается:
TabHost tabHost = getTabHost();
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("Tab1", new RadiusDrawable()).setContent(R.id.tab1_list));
Описание RadiusDrawable, который должен рисовать круг
private class RadiusDrawable extends Drawable {
private final Paint mPaint;
private final RectF mRect;
public RadiusDrawable() {
mPaint = new Paint();
mRect = new RectF();
}
@Override
public void draw(Canvas canvas) {
// ld.draw(canvas);
// Set the correct values in the Paint
mPaint.setARGB(255, 255, 0, 0);
mPaint.setStrokeWidth(2);
mPaint.setStyle(Style.FILL);
// Adjust the rect
mRect.left = 1.0f;
mRect.top = 1.0f;
mRect.right = 32.0f;
mRect.bottom = 32.0f;
// Draw it
canvas.drawRoundRect(mRect, 0.5f, 0.5f, mPaint);
}
@Override
public void setAlpha(int alpha) {
}
@Override
public void setColorFilter(ColorFilter cf) {
}
@Override
public int getOpacity() {
return PixelFormat.OPAQUE;
}
}
Перепробовал различные варианты, в том числе и загрузку тех же ресурсов внутри RadiusDrawable, но результат один и тот-же, на табе не отображается картинка.
Здравствуйте, dgrey, Вы писали:
D>Есть необходимость на табе отображать счетчик дополнительно к изображению таба ( номер в кружке).
D>Если при инициализации TabSpec в TabHost указывать Drawable, загруженный с ресурсов, то изображение на табе отображается корректно:
D>D> TabHost tabHost = getTabHost();
D> tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("Tab1", getResources().getDrawable(R.drawable.tab1_icon)).setContent(R.id.tab1_list));
D>
D>Если же использовать свой RadiusDrawable класс, то на табе ничего не отображается:
зачем это велосипед? чем shape drawable не подходит? ее можно задать как ресурс
http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape