setSmallIcon()
功能可以设置状态栏中使用的图标。
就我的目的而言,我不需要图标,而是想要文本(数字更精确),就像系统放置在那里的电池电量百分比指示一样。
我看不出有什么办法可以做到这一点,而且我有一种沉重的感觉,我需要为每个可能的数字(包括正数和负数)使用不同的图标。 请告诉我我错了!
您可以使用此功能绘制位图
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 及更高版本