当前位置: 代码迷 >> Android >> 如何创建类似Google日历应用程序的可绘制日期
  详细解决方案

如何创建类似Google日历应用程序的可绘制日期

热度:14   发布时间:2023-08-04 11:06:09.0

我不知道如何创建可绘制对象并将其添加到工具栏,如上图(红色圆圈)所示。 该数字对应于今天的日期。

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

更新:感谢您的想法。 这是我想出的:

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

  2. 重写draw(Canvas canvas)方法

  3. 以编程方式将自定义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方法上编写它。

谢谢你的帮助!

尝试在图片上写文字...

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

其中xy是文本在图像上位置的坐标。 您还需要将Color.BLACK更改为图像的颜色以保持一致性。

最后,您将得到calendarBitmap。

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

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

  相关解决方案