簡體   English   中英

TextView +變量

[英]TextView + variable

在使用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?

將textview置於線性布局中,使子中心靠重力,或在textview中彼此對齊,然后在右側的textview中設置可變的顏色字符串。

<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>

您可以使用類似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(); 如果使用color.getText(),則不使用TextView的參數,它將獲取文本但不獲取顏色,因為顏色設置為TextView

當您需要使用變量格式作為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實體。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM