如何创建像谷歌日历应用程序一样的日期绘制

时间:2015-10-22 07:42:25

标签: android

enter image description here

我不知道如何创建一个drawable并将其添加到工具栏中,如上图(红色圆圈)。该号码与今天的日期相对应。

如果您有任何想法,请帮助我。

更新 谢谢你的想法。这就是我想出来的:

  1. 创建我的自定义Drawable(例如:TextDrawable extends Drawable)

  2. 覆盖绘制(Canvas画布)方法

  3. 以编程方式将我的自定义Drawable添加到我的工具栏:

  4. inside:onCreateOptionsMenu(菜单菜单)

    menu.add(0, 0, 1, getString(R.string.jump_to_today)).setIcon(new TextDrawable("22")).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    

    现在,它会显示我想要的文字日期(避风港有日历背景)。我想我必须在我的绘制方法上写它。

    感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

尝试在图像上书写文字......

首先,您需要一个没有文字的日历图像(在这种情况下为“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。

答案 1 :(得分:1)

我认为最好的方法是将您想要的图像作为日历(也许您可以在Android资源中找到它)。然后将其转换为九个补丁并将其用作TextView的背景绘制。

您可以阅读Google documentation有关创建九个补丁的信息。您将能够通过定义内容区域在文本区域中定义文本。