15

私は次のようなことを意味します:

<string name="error" color="#9a1d1d">Error!</string>
4

13 に答える 13

18

rekire が示唆しているように、あなたがやっているように色を設定することはできません。

rekire が提案する方法を使用できます。

あなたのxmlでは、テキストビューの色を次のように指定できます

  android:textColor="#0EFFFF"

プログラムでテキストの色を設定することもできます

  TextView tv= (TextView)findviewById(R.id.textView1);
  tv.setTextColor(Color.RED);  

テキストビューで特定の単語の色を設定するには、スパン可能な文字列を使用できます

    TextView tv= (TextView)findviewById(R.id.textView1);
    tv.setText("");  
    String s="Hello World";
    SpannableString ss=  new SpannableString(s);                
    ss.setSpan(new ForegroundColorSpan(Color.GREEN), 0, 5, 0);  
    tv.setText(ss);
于 2013-04-14T08:48:10.907 に答える
11

4.x より前では、次のようにすることができました。

<string name="error"><font fgcolor="#ff9a1d1d">Error!</font></string>

ただし、バグhttps://code.google.com/p/android/issues/detail?id=58192はこの機能を壊しました。これは、最上位ビットが設定された数値を処理できない整数パーサーが導入されたためです。色の不透明度部分を省略します (ほとんどの人は、この例のように ff に設定することを好みます)。

昨日、巧妙な回避策を学びました。あなたがすることは、2 の補数で 16 進数の色の値を否定することです。これを行う方法は、16 進計算機によって異なりますが、最も簡単な方法は、0x100000000 から色を減算することです。あなたの場合、それは 0x100000000 - 0xff9a1d1d = 0x65e2e3 になります。(または、それを逆にすることもできます。たとえば、十分に近い 0065e2e2 です)。次に、マイナス記号を使用してこれを再度否定します。

<string name="error"><font fgcolor="-#65e2e3">Error!</font></string>

そして出来上がり!ご希望の色があります。

https://stackoverflow.com/a/11577658/338479でこれを理解した TWiStErRob への称賛

ETA: 2.x システムでこれを行うとアプリがクラッシュすることがわかりました。NumberFormat 例外をスローします

于 2015-07-27T13:58:30.787 に答える
8

これを試してみてください

<string name="some_text">Font color is <font fgcolor="#ffff0000">red</font></string>
于 2013-11-03T11:34:16.200 に答える
6

このコードをstring.xmlファイルに入れます。

<font color="Red"><a href="support@legacystories.org">HERE</a></font>
于 2014-11-10T05:48:41.173 に答える
5

Strings.xml

<string name="pbs_setup_title">Select %1$s <font fgcolor="#FF33B5E5">brand</font> or scan the <font fgcolor="#FFFF0000">Remote</font></string>

クラス.java

String SelectedDeviceType_Str = "TV"

SetupYourDevice_TextView.setText(Html.fromHtml(String.format(Html.toHtml(new SpannedString(getResources().getText(R.string.pbs_setup_title))),
                    SelectedDeviceType_Str)));
于 2014-07-09T06:30:24.533 に答える
5

その可能性はこれを試してみてください..

文字列.xml

<string name="colorText"><![CDATA[ Give your string here. Like, This sentence has a<b><font color=#FF0000>Red color</b> text.]]></string>

ExampleClass.java

TextView colorTextView = (TextView)findViewById(R.id.colorText);
String customColorText = getResources().getString(R.string.colorText)
colorTextView.setText(Html.fromHtml(customColorText));
于 2014-06-24T17:08:38.063 に答える
5

いいえ、レイアウトで指定する必要はありません。ただし、colors.xml に色を入れることはできます。

色.xml

<color name="foo">#abc123</color>

your_layout.xml

<TextView android:textColor="@color/foo" android:text="@string/error" />
于 2013-04-14T08:36:33.110 に答える
3
  1. 値でcolors.xmlファイルに色を作成します

      <color name ="red">#ff0000</color>
    
  2. あなたのstrings.xmlで次のようにします

      <string name="some_text">The next word is <font fgcolor="red">red</font> but that is all</string>
    

string.xml で 16 進コードを直接使用できないことがわかりました。

于 2014-02-12T02:41:30.247 に答える
3

私の経験では、strings.xmlに色を次のように保存しました

<color name="name_color">#ffffff</color>

ビューとセットがある場合 `

nameView.setBackgroundColor(R.color.name_color);

大丈夫です。

しかし、テキストの色を次のように設定すると

name_TextView.setTextColor(R.color.name_color);

それはEffectではありません。

同じ問題が発生した場合は、設定するだけです

name_TextView.setTextColor(Color.parseColor("希望する色のコードヘキサ"));

それが役立つことを願っています。

于 2014-07-24T03:46:40.717 に答える
0

Strings.xml で:

<resources>
        <color name="etDisabled">#ac8888</color>
        <color name="myorange">#f56415</color>
        <color name="mygreen">#95cd08</color>
  </resources>

次に、コードで:

 TextView myText = (TextView) findViewById(R.id.tvJugador1);
  myText.setTextColor(R.color.mygreen);
于 2014-10-28T15:33:18.367 に答える