2011-06-24 21 views
2

これは私の最初の投稿です。 実行時にテキストの色をTextView'sに変更しました。メソッドTextView.setTextColor(int)がありますが、リソースにないint値では機能しません。

たとえば、などの実行時に計算される色はで、R.colorには存在しません。 TextViewはレンダリングされません。
それらのどれも引数としてrgb int valuesを受け入れていない、私はこのためのアンドロイドのソースコードを見て撮影した、と2つの方法があります。TextView:実行時にテキストの色を変更できない

/** 
* Sets the text color for all the states (normal, selected, 
* focused) to be this color. 
* 
* @attr ref android.R.styleable#TextView_textColor 
*/ 
@android.view.RemotableViewMethod 
public void setTextColor(int color) { 
    mTextColor = ColorStateList.valueOf(color); 
    updateTextColors(); 
} 

/** 
* Sets the text color. 
* 
* @attr ref android.R.styleable#TextView_textColor 
*/ 
public void setTextColor(ColorStateList colors) { 
    if (colors == null) { 
     throw new NullPointerException(); 
    } 

    mTextColor = colors; 
    updateTextColors(); 
} 

だから、これを行う方法はありませんか?たぶん、TextViewを延長していますか?

ありがとうございます。

+0

質問は何ですか?テキストの色は、UIスレッドの任意の場所で、 'android.graphics.Color'クラスの定数とメソッドを使用して設定できます。 –

答えて

6

を試してみてください。

TextView.setTextColor()は0xRRGGBB値を受け入れません。代わりに、0xAARRGGBBを受け入れます。 "0xFF0000"を入力するたびに、実際に値"0x00FF0000"が与えられ、034のアルファ値が与えられ、TextViewがレンダリングされません。したがって、0xFF0000の代わりに、0xFFFF0000に設定しようとします。

また、AndroidのColorクラスを使用することもできます。メソッド"Color.rgb(int、int、int)"は暗黙的に255のアルファ値を割り当てているため、"Color.rgb(255, 0, 0)"を呼び出すとテキストの赤色の値が返されます。

+0

しかし、[sdk document](http://developer.android.com/reference/android/widget/TextView.html#attr_android:textColor)はRGBも受け入れていると言っています。 – bluefalcon

+0

これはxml属性用です。この方法ではできません。単純に値 "0xFF0000"をsetTextView(int)メソッドに渡すと、テキストが見えなくなります。 – DeeV

+0

私はいつも両方が同じでなければならないと思った。 – bluefalcon

1

は、私は、問題はあなたが色のアルファ値を設定していないかもしれないと思う次

textView.setTextColor(Color.rgb(0,0,0)); 
3

この

TextViewのインスタンスを取り、

は、最初

setTextColorメソッドを呼び出して、その後

TextView myText = (TextView) findViewById(R.id.myTextView); 

それのインスタンスを取得し、あなたはID myTextViewとのTextViewがあるとしsetTextColorメソッドを呼び出して試してみてください

myText .setTextColor(android.graphics.Color.RED); 

または

myText .setTextColor(android.graphics.Color.rgb(int red,int green,int blue); 
関連する問題