Android: Canvas может писать текст поверх изображения?

1

У меня есть пользовательское изображение кнопки, и мне нужно, чтобы текст отображался в самой верхней части экрана, чтобы изображение под ним не было закрыто. Я не думаю, что это возможно с помощью обычных кнопок и фоновых изображений.

Можно ли использовать Canvas для записи на уже созданном изображении и использовать это как кнопку?

Единственный другой способ, которым я могу это сделать, - использовать векторные изображения, но андроид не может использовать это, я прав?

Если есть какие-то лучшие способы, которые были бы хорошими, чтобы знать слишком большое спасибо.

EDIT: 9 patch - это решение, но это все равно означает, что текст является фиксированным. Кроме того, изображение имеет много событий на нем с тенями и рисунками. На самом деле это не лучший способ. Я знаю, что могу создавать отдельно размерные изображения для экранов разного размера. Я просто ищу что-то, что означает, что текст не обязательно должен быть полностью исправлен

Теги:

2 ответа

2

Вы можете нарисовать текст на изображении. Просто переопределите

  @ Override
public void onDraw ( Canvas canvas ) {

    try {
        canvas.drawColor ( Color.BLACK ) ;
        bitmap = BitmapFactory.decodeResource ( getResources ( ) , ( R.drawable.background_image ) ) ;

        canvas.drawBitmap ( bitmap , 0 , 0 , null ) ;

        Paint paint = new Paint();
        paint.setColor(Color.WHITE);
        canvas.drawText("Text to be drwaw", my_txt_x_position, my_txt_y_position, paint);

    } catch ( Exception e ) {
        e.printStackTrace ( ) ;
    } catch ( Error e ) {
        e.printStackTrace ( ) ;
    }

}
0

Вы знаете что-то об изображениях с девятью патчами? девять патч

  • 0
    Неплохо подмечено! Единственная проблема в том, что мне придется создавать разные изображения для экрана разных размеров. Если нет другого пути, тогда я приму этот ответ. Спасибо, не знаю, почему я не подумал об этом
  • 0
    Извините, я попытался и понял, почему это не лучшее решение. Изображения, которые у меня есть, используют тени и рисунки, что означает, что вряд ли можно изменить размеры любого изображения без искажения всего изображения. Еще раз спасибо за вашу помощь.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню