2016-10-19 7 views
0

fontawesomeからアンドロイドの通知ビューにアイコンを描画したいと思います。これを行うには、このアイコンをビットマップに描画し、書体を設定して、通知ビューでビットマップを設定しようとしました。フォントワームをビットマップに描く

私はこのコードを使用します

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); 

をしかし、それは示して、すべては""とアイコンなしです。他の文脈では、フォントワームはうまく動作します。

+0

'drawText()'はHTMLスタイルのエンティティ参照をあなた自身のために変換するつもりはありません。 – CommonsWare

+0

OK、私はそれを動作させるために何が変わるのか考えていますか? – ksome

+1

'' \ u ''表記を試してください:http://stackoverflow.com/a/8062048/115145 http://javajee.com/unicode-escapes-in-java – CommonsWare

答えて

1

は、HTML形式のエンティティリファレンスです。 Androidのほとんどの場所は、それを特別な意味を持たない文字列として扱います。あなたのケースでは

は、最も簡単な解決策は、あなた"\uf29d"与え、\u&#xを交換し;の除去、JavaのUnicode文字列リテラル構文を使用することです。

関連する問題