问题描述
我不知道如何创建可绘制对象并将其添加到工具栏,如上图(红色圆圈)所示。 该数字对应于今天的日期。
如果您有任何想法,请帮助我。
更新:感谢您的想法。 这是我想出的:
创建我的自定义Drawable(例如:TextDrawable扩展Drawable)
重写draw(Canvas canvas)方法
以编程方式将自定义Drawable添加到工具栏:
内部:onCreateOptionsMenu(菜单菜单)
menu.add(0, 0, 1, getString(R.string.jump_to_today)).setIcon(new TextDrawable("22")).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
目前,它显示的文本日期与我想要的一样(没有日历背景)。 我想我将不得不在我的draw方法上编写它。
谢谢你的帮助!
1楼
尝试在图片上写文字...
首先,您需要一个没有文本的日历图像(在这种情况下为“ 22”)。 然后,您在图像上写文本“ 22”。 像这样:
Bitmap calendarBitmap = ... // Load your calendar image here
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setTextSize(10);
canvas.drawText("22", x, y, paint);
其中x , y是文本在图像上位置的坐标。 您还需要将Color.BLACK更改为图像的颜色以保持一致性。
最后,您将得到calendarBitmap。
2楼
我认为最好的方法是获取想要的图像作为日历(也许您可以在android资源中找到它)。 然后将其转换为九个补丁,并将其用作TextView的背景可绘制对象。
您可以阅读有关创建九个补丁的Google 。 您将可以通过定义内容区域在最中间的区域中定义文本。