TextView +变量

时间:2014-10-15 21:18:33

标签: java android textview

我已经使用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?

3 个答案:

答案 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实体将不会被修剪。