我想从fontawesome中绘制一个图标到android中的通知视图。为此,我尝试将此图标绘制到位图,设置字体,然后在通知视图中设置位图。
我用这个代码:
Bitmap myBitmap = Bitmap.createBitmap(100, 50, Bitmap.Config.ARGB_8888);
Canvas myCanvas = new Canvas(myBitmap);
Paint paint = new Paint();
Typeface typeface = Typeface.createFromAsset(getApplicationContext().getAssets(),"fonts/fontawesome-webfont.ttf");
paint.setAntiAlias(true);
paint.setSubpixelText(true);
paint.setTypeface(typeface);
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);
paint.setTextSize(15);
myCanvas.drawText("", 0, 20, paint);
notificationView.setImageViewBitmap(R.id.activity, myBitmap);
但它显示的是""
,没有图标。在其他情况下,fontawesome工作得很好。

是一个HTML风格的实体参考。 Android中的大多数地方只会将其视为一系列没有特定含义的字符。
在您的情况下,最简单的解决方案是使用Java Unicode字符串文字语法,用&#x
替换\u
并删除;
,给你"\uf29d"
。
在Android中,您应该使用“\ uf29d”格式。
例如,uniCode =“\ uf29d”canvas.drawText(uniCode,x,y,paint);或canvas.drawText(“\ uf29d”,x,y,paint);