2012-05-11 20 views
2

半透明のテキストをキャンバスに書き込もうとしています。私はキャンバスに書かれた文字列を見るが、透明性は機能していないようだ。私のコードは次のとおりです:キャンバスに透明なテキストを描く

 public void onDraw(Canvas canvas, Paint paint) { 
    paint.setAlpha(1); 
    paint.setAntiAlias(true); 
    paint.setTextSize(this.textSize); 
    paint.setColor(textColor); 
    canvas.drawText(text,x,y,paint); 
    Logs.add("onDraw DefaultScoreGottenText currentAlpha = " + this.currentAlpha); 
    showAnimation(null); 
} 

alphaプロパティは設定されていますが、影響はありません。私は新しいPaintオブジェクトを作成してdrawTextメソッドに送信しようとします。どちらもうまくいきませんでした。何か案は ?

答えて

5

paint.setColor()にはアルファが含まれているため、paint.setColor(textColor)を呼び出すと、paint.setAlpha(1)で設定したアルファが上書きされます。同時に、アルファとテキストの色を設定してみてください:

paint.setColor(Color.argb(alpha, red, green, blue)); 
0

セットカラー#00112233

ここ

00は、透明

11であること

22赤の値である

緑の値であります

33は青の値です

最初に変更した場合00〜FFの間の2桁で、透明な変化を見ることができます。

2

または以下をの色に設定してください。

+0

の間の値をとること

paint.setColor(textColor); paint.setAlpha(1); 

ノートを自分の色を設定した後、アルファを設定します。批評をしたり、著者の説明を求めるには、自分の投稿の下にコメントを残してください。自分の投稿にいつもコメントをつけることができます。そして、十分な[評判](http://stackoverflow.com/help/whats-reputation) [任意の投稿にコメントする]ことができます(http://stackoverflow.com/help/privileges/comment)。 –

+0

私は全く同じ問題を抱えていました。簡単な解決方法は、アルファを色の下に設定することです。私はこの問題を抱えている人々に役立つので、これを投稿します。 – Xmanoux

1

カラー値を設定してアルファを上書きしています。これだけアルファはこの質問への答えを提供していません0と255

+0

xml android:alpha属性は0〜1fなので、これは誤解を招くので、あなたは私の日を節約します。 –

関連する問題