向通知图标添加文本

问题描述 投票:0回答:2

我想制作一个带有文字的通知图标,以显示剩余电池百分比等。有没有一种方法可以做到这一点而不涉及 100 多个单独的图标?

我查遍了,但找不到方法。

谢谢

android icons statusbar android-notifications android-icons
2个回答
1
投票
不幸的是,有 100 多个独立的图标。出于安全原因,android 只接受资源 ID,但资源 ID 也不能是自定义资源类型。

很高兴知道我是否错了。


0
投票
您可以使用此功能绘制位图

fun createTemperatureBitmap(context: Context, temperature: String): Bitmap { val size = 48 val scale = context.resources.displayMetrics.density val bitmap = Bitmap.createBitmap((size * scale).toInt(), (size * scale).toInt(), Bitmap.Config.ARGB_8888) val canvas = Canvas(bitmap) val paint = Paint(Paint.ANTI_ALIAS_FLAG).apply { color = Color.WHITE textSize = 24 * scale textAlign = Paint.Align.CENTER } val x = bitmap.width / 2f val y = bitmap.height / 2f - (paint.descent() + paint.ascent()) / 2 canvas.drawText(temperature, x, y, paint) return bitmap }
要将其添加为图标,您必须使用

val iconBitmap = createTemperatureBitmap(context, temperature)

.setSmallIcon(IconCompat.createWithBitmap(iconBitmap))
*仅适用于 api M 及更高版本

© www.soinside.com 2019 - 2024. All rights reserved.