Rag*_*dan 15

正如rekire建议的那样,不可能按照你的方式设置颜色.

您可以使用rekire建议的方法.

在xml中,您可以为textview指定颜色

  android:textColor="#0EFFFF"
Run Code Online (Sandbox Code Playgroud)

您还可以设置文本颜色programaticaly

  TextView tv= (TextView)findviewById(R.id.textView1);
  tv.setTextColor(Color.RED);  
Run Code Online (Sandbox Code Playgroud)

要在textview中设置特定单词的颜色,可以使用spannable string

    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);
Run Code Online (Sandbox Code Playgroud)


Edw*_*alk 10

在4.x之前,你可以这样做:

<string name="error"><font fgcolor="#ff9a1d1d">Error!</font></string>
Run Code Online (Sandbox Code Playgroud)

但是,错误https://code.google.com/p/android/issues/detail?id=58192打破了此功能,因为它引入了一个整数解析器,无法处理具有最高位设置的数字,不幸的是你可以'省略颜色的不透明度部分(大多数人宁愿设置为ff,如本例所示.)

我昨天刚学会了一个聪明的解决方法.你所做的是否定二进制补码中的十六进制颜色值.如何执行此操作取决于您的十六进制计算器,但最简单的方法是从0x100000000中减去颜色.在您的情况下,这将导致0x100000000 - 0xff9a1d1d = 0x65e2e3.(或者你可以将其反转,例如0065e2e2,它足够接近).然后用减号再次否定这个:

<string name="error"><font fgcolor="-#65e2e3">Error!</font></string>
Run Code Online (Sandbox Code Playgroud)

和瞧瞧!你有你想要的颜色.

感谢TWiStErRob在/sf/answers/810436091/中解决这个问题

ETA:我刚刚发现如果你在2.x系统上这样做会导致你的应用程序崩溃; 它会抛出NumberFormat异常


小智 6

字符串.xml

<string name="pbs_setup_title">Select %1$s <font fgcolor="#FF33B5E5">brand</font> or scan the <font fgcolor="#FFFF0000">Remote</font></string>
Run Code Online (Sandbox Code Playgroud)

类.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)));
Run Code Online (Sandbox Code Playgroud)


pat*_*135 6

将此代码放在string.xml文件中:

<font color="Red"><a href="support@legacystories.org">HERE</a></font>
Run Code Online (Sandbox Code Playgroud)


rek*_*ire 5

不,这是不可能的,你必须在你的布局中指定.但是您可以将颜色放在colors.xml中.

colors.xml

<color name="foo">#abc123</color>
Run Code Online (Sandbox Code Playgroud)

your_layout.xml

<TextView android:textColor="@color/foo" android:text="@string/error" />
Run Code Online (Sandbox Code Playgroud)


ihs*_*nhf 5

试试这个吧

<string name="some_text">Font color is <font fgcolor="#ffff0000">red</font></string>
Run Code Online (Sandbox Code Playgroud)


Sil*_*uti 5

它可能试试这个..

string.xml

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

ExampleClass.java

TextView colorTextView = (TextView)findViewById(R.id.colorText);
String customColorText = getResources().getString(R.string.colorText)
colorTextView.setText(Html.fromHtml(customColorText));
Run Code Online (Sandbox Code Playgroud)

快乐的编码....