#android #drawable
#Android #доступные для рисования
Вопрос:
Я пишу пользовательский чертеж, текст поверх растрового изображения:
@Override
public void draw(Canvas canvas) {
canvas.drawBitmap(badge, matrix, null);
canvas.drawText(count, size / 2, size / 2 (text_size) / 2 , p);
}
Когда я использую свой drawable в ImageView, все в порядке.
Но если я использую это с textview (составным отображаемым), его выравнивание будет неправильным.
Я пробовал как setCompoundDrawablesWithIntrinsicBounds, так и setCompoundDrawables
Те же результаты, что я пропустил?
Спасибо.
Ответ №1:
Мне удается получить правильное выравнивание (мой объект рисования представляет собой круг / квадрат, поэтому ширина = = высота):
В моем настраиваемом ctor:
Custom_Drawable(int size) {
this.size = size;
}
Метод onDraw:
@Override
public void draw(Canvas canvas) {
// draw here
setBounds(0, 0, this.size, this.size);
}
При настройке :
b.setCompoundDrawables(new Custom_Drawable(25), null, null, null);