2012-04-28 10 views
0

ok私はtextview.setBackgroundColor(R.color.darkgrey)やその他の色でtextviewの背景色を設定できますが、少し違った状況になります。名前、値、ペイントの3つのプロパティを持つオブジェクトがあります。このオブジェクトを使って円グラフを描き、グラフの凡例として一連のテキストビューを作成しました。私が今したいのは、グラフのために使用したペイントiに背景色を設定することだけです。私はandroid.graphics.PaintのsetARGBメソッドを使ってPaintを設定しました。私はアンドロイドノートを色を塗ったものに変更する変換方法を見つけようとしましたが、運はありません。TextviewのBackgroundColorをColorの代わりにPaintに設定するにはどうすればいいですか?

ペイントを使用してテキストビューにsetBackgroundColor()を設定する方法はありますか?

+0

名前、値、および「ペイント」と共にオブジェクトのARGB値を保持するだけではどうですか? – CommonsWare

+0

確かに、ペイントのARGB値はオブジェクトに保持されていますが、そのペイントにtextviewの背景を設定しようとすると、「タイプビューのメソッドsetBackgroundColor(int)は引数(ペイント)に適用できません」というエラーが発生します – ariken929

+0

ARGB値は整数です。オブジェクトに名前、値、ペイント、整数を保持させます。 ARGB値を整数に入れます。整数を 'setBackgroundColor()'と一緒に使用してください。 – CommonsWare

答えて

0

キャンバスを使用してテキストを描画したい場合、あなたはこのような何か行う必要があります。

public Bitmap myDrawText(Context context, String text, Typeface typeface, int textSize, int width, int height) { 
    Bitmap myBitmap = Bitmap.createBitmap(width, height,  Bitmap.Config.ARGB_8888); 
    Canvas myCanvas = new Canvas(myBitmap); 
    Paint paint = new Paint(); 
    paint.setAntiAlias(true); 
    paint.setSubpixelText(true); 
    paint.setTypeface(typeface); 
    paint.setStyle(Paint.Style.FILL); 
    paint.setColor(Color.WHITE); 
    paint.setTextSize(textSize); 
    paint.setTextAlign(Align.CENTER); 
    myCanvas.drawText(text, (width/2), 40, paint); 
    return myBitmap; 
} 

を今すぐあなたのテキストのビットマップを持っています!

ImageView iv = findViewById(R.id.some_image); 
    iv.setImageBitmap(myBitmap); 
+0

こんにちは、返信ありがとう、私はactaullyテキストを描画していない、私はグラフを描画し、テキストはlistviewの通常のtextviewsです。表示する画像を追加しました – ariken929

+0

テキストビューの代わりにイメージビューを使用し、この関数でテキストをペイントします。 –

+0

ペイントを色に変換する簡単な方法はありますか?画像ビューを使用する必要がある場合は、リスト用に作成したカスタム配列アダプタを変更する必要があります。 – ariken929

関連する問題