我已经使用set.Text修改了一个int类型的变量(CONT1)后添加到我的TextView中 如何仅更改变量cont1的颜色? 我的代码的一部分:
TextView cpu=(TextView) findViewById(R.id.cpu);
cpu.setText("CPU: " + cont1);
我试图将cont1的值放在一个新的TextView中,然后以这种方式将它添加到第一个TextView中:
TextView cpu=(TextView) findViewById(R.id.cpu);
TextView color=new TextView(this);
color.setText(cont1);
color.setTextColor(220);
cpu.setText("CPU: " + color);
但是输出给了我奇怪的值,我怎么能只改变变量CONT1的颜色?
问题是我没有合并两个TextView
cpu.setText(“CPU:”+ color); 这段代码没用,为什么我不能合并两个TextView?
答案 0 :(得分:1)
将文本视图放在线性布局中,并将重力赋予子项中心,或在文本视图中相互对齐,并将可更改的颜色字符串设置为右侧的文本视图。
<LinearLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#0000" >
<TextView
android:id="@+id/cpu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CPU"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp" />
<TextView
android:id="@+id/Changeabletextview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="count"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000"
android:textSize="30sp" />
</LinearLayout>
答案 1 :(得分:0)
您可以使用类似此Html.fromHtml的内容并格式化所有字符串
String text = "<font color=#ff0000>&hearts</font>
<font color=#ffd700>Wish List</font><font color=#ff0000>&hearts</font>";
cpu.setText(Html.fromHtml(text));
示例:强>
String text = "<font color=#ff0000></font>CPU:<font color=#ffd700>" + CONT1 + "</font>";
cpu.setText(Html.fromHtml(text));
并且你不能将两者结合起来因为TextView.setText();不采用TextView的参数 如果你使用color.getText()它将获得文本而不是颜色,因为颜色设置为TextView
答案 2 :(得分:0)
当您需要使用变量和格式为HTML 时,您可以使用:
<强>的strings.xml:强>
重要的部分是使用<![CDATA[
和变量$s
。
<string name="html_cdata_variable"><![CDATA[<b>CPU:</b>%1$s]]></string>
<强> example.java 强>
TextView color = findViewById(R.id.text_view_color);
String variable = "some text in variable";
color.setText(Html.fromHtml(getString(R.string.html_cdata_variable, variable);
当字符串包含CDATA时,它将通过getString
和变量将HTML实体返回到字符串。
因此,getString
变量的反向数据将被夸大,但HTML实体将不会被修剪。