[英]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.