2016-05-04 20 views
0

最近、多色フォントに関するトラブルが発生しています。私が持っているフォントは白と黒の色を使用していますが、何らかの理由で黒しか表示されておらず、内側の白が表示されていません。私は何か間違ったことをしたか、そこにフォントの色をつける方法がありますか?ありがとうございました。ここでは、コードである - またカスタムフォントが1つの色だけで正しく表示されない

Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/editundo.otf"); 

//crating color fill and adding in font to the paint and setting the color fill white and text size 150 
Paint paint = new Paint(); 
paint.setTypeface(tf); 
paint.setTextSize(150); 

// do other setup on Paint object 
// Draw all the text stuff 
//if the screen has not been tapped touch screen to start 
if (f == 0) { 
    canvas.drawText("Tap to Start", MainActivity.screenWidth/4, MainActivity.screenHeight/2, paint); 
} 

//Setting text as 40 size and draw the score text 
paint.setTextSize(40); 
canvas.drawText("Score: " + score, 10, 50, paint); 
canvas.drawText("High Score: " + HighScore, 10, 120, paint); 
paint.setTextSize(35); 
canvas.drawText("Car Tokens: " + coinz, MainActivity.screenWidth*7/9+MainActivity.screenWidth*2/100, 50, paint); 

、私が使用していたフォントは、Mouser初のアウトラインフォントである、と私は.OTFとの.ttfの両方としてそれを使用しています。フォントへのリンクはここにあります - http://fontzone.net/font-details/mouser-outline

ありがとうございました。

+0

あなたがする必要があるのは、あなたのペイントオブジェクトの色を設定することだけです: 'paint.setColor(Color.WHITE)' –

+0

私はそれを試みました。それはうまくいかず、内側の部分も白くしたい。 –

答えて

0

カラフルなフォントは、java.awtとして動作しません。フォントは、太字、サイズ、イタリック体などのさまざまな特定のテキスト/設定のみをサポートしています。

フォントを画面に書き込む方法は、各文字を画像として保存することです....

としては、ここで説明:フォントの制限が

Java - Multi-colored text

は、ここに示されている:

https://docs.oracle.com/javase/7/docs/api/java/awt/Font.html

+0

待ちます。ビットマップフォントの使用を提案していますか? –

+0

私はあなたが何を意味し、ありがとう、しかし、表示されたリンクは実際の答えを持っていません。 –

+0

その罰金。私はちょうど変換の方向を指していた。アンドロイドの実装はおそらく少し異なるでしょう – DarkV1

関連する問題