绘制fontawesome到位图

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

我想从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工作得很好。

android notifications font-awesome
2个回答
1
投票

是一个HTML风格的实体参考。 Android中的大多数地方只会将其视为一系列没有特定含义的字符。

在您的情况下,最简单的解决方案是使用Java Unicode字符串文字语法,用&#x替换\u并删除;,给你"\uf29d"


0
投票

在Android中,您应该使用“\ uf29d”格式。

例如,uniCode =“\ uf29d”canvas.drawText(uniCode,x,y,paint);或canvas.drawText(“\ uf29d”,x,y,paint);

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