Android:Can Canvas可以在图像上面写文字吗?

时间:2011-07-12 09:28:38

标签: android

我有一个自定义按钮图像,我需要将文本显示在它的最顶部,以允许其下面的图片不被覆盖。我不认为普通按钮和背景图像可以实现这一点。

是否可以使用Canvas写入已创建的图像并将其用作按钮?

我能看到的另一种方法是使用矢量图像,但是android不能使用这个我是对的吗?

如果还有更好的方法,那么也应该知道。

编辑: 9补丁是一种解决方案,但它仍然意味着文本是固定大小的。此外,图像上还有很多阴影和图画。它实际上并不是我认为最好的方式。我知道我可以为不同尺寸的屏幕创建单独尺寸的图像。我正在寻找一些意味着文本不必完全修复的东西

2 个答案:

答案 0 :(得分: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 ( ) ;
    }

}

答案 1 :(得分:0)

您对9张补丁图片有所了解吗? nine-patch