我有一个自定义按钮图像,我需要将文本显示在它的最顶部,以允许其下面的图片不被覆盖。我不认为普通按钮和背景图像可以实现这一点。
是否可以使用Canvas写入已创建的图像并将其用作按钮?
我能看到的另一种方法是使用矢量图像,但是android不能使用这个我是对的吗?
如果还有更好的方法,那么也应该知道。
编辑: 9补丁是一种解决方案,但它仍然意味着文本是固定大小的。此外,图像上还有很多阴影和图画。它实际上并不是我认为最好的方式。我知道我可以为不同尺寸的屏幕创建单独尺寸的图像。我正在寻找一些意味着文本不必完全修复的东西
答案 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