我正在开发一个需要在状态栏中显示下载速度的应用程序。我尝试使用public class ProductModelId {
private String code;
private String mode;
public ProductModelId(String code, String mode) {
this.code = code;
this.mode = mode;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof ProductModelId)) return false;
ProductModelId that = (ProductModelId) o;
return Objects.equals(code, that.code) &&
Objects.equals(mode, that.mode);
}
@Override
public int hashCode() {
return Objects.hash(code, mode);
}
}
,但它需要一个常量drawable作为参数。我希望数字每3秒更改一次。我看到许多应用程序在状态栏中显示一些数字,例如温度,下载百分比等。因此,有一种方法可以确保。但是我无法弄清楚。
答案 0 :(得分:0)
您可以通过将文本字符串转换为可绘制的位图来实现。
使用以下方法将文本转换为位图。并在通知生成器中将return bitmap用作smallIcon。
public Bitmap textAsBitmap(String text, float textSize, int textColor) {
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setTextSize(textSize);
paint.setColor(textColor);
paint.setTextAlign(Paint.Align.LEFT);
float baseline = -paint.ascent(); // ascent() is negative
int width = (int) (paint.measureText(text) + 0.5f); // round
int height = (int) (baseline + paint.descent() + 0.5f);
Bitmap image = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(image);
canvas.drawText(text, 0, baseline, paint);
return image;
}