我希望使用TextView
在我的活动中显示50度,如下所示
我真的不知道如何做到这一点,并通过谷歌搜索我找到了这个XML代码
android:text="50°"
我不知道上面的代码是什么 任何人都可以向我解释究竟是什么以及它是如何运作的。
答案 0 :(得分:7)
摄氏度使用:
"\u2103"
华氏使用:
"\u2109"
仅用于没有使用c或f的度数符号:
"\u00B0"
例如:
String TemperatureMeasurementStr = String.valueOf(measurement.getTemperature()) + "\u2103";
或简单的例子:
String TemperatureMeasurementStr = "37"+ "\u2103";
并在textView
中设置字符串 public TextView temperatureTV;
temperatureTV.setText(TemperatureMeasurementStr);
如果您只想将符号添加到xml布局文件中 - 只需使用:
android:text="37\u2103"
例如:
<TextView
android:id="@+id/temperature_measure"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/temperature_icon"
android:layout_marginBottom="-5dp"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/temperature_icon"
android:text="37\u2103"
android:textAlignment="center"
android:textSize="50sp"
/>
像这样:
String TemperatureMeasurementStr = String.valueOf(measurement.getTemperature()) + "\u2103";
SpannableString tempSpan= new SpannableString(TemperatureMeasurementStr);
if (TemperatureMeasurement.length() >0){
//the symbol will be smaller then the number
tempSpan.setSpan(new RelativeSizeSpan(0.7f),TemperatureMeasurementStr.length() - 1, TemperatureMeasurementStr.length(), 0);
//the number style will be bold and the symbol normal
tempSpan.setSpan(new android.text.style.StyleSpan(Typeface.BOLD), 0, TemperatureMeasurementStr.length()-1, 0);
//the symbol color will be yellow
tempSpan.setSpan(new ForegroundColorSpan(Color.YELLOW), TemperatureMeasurementStr.length() - 1, TemperatureMeasurementStr.length(), 0);
}
temperatureTV.setText(tempSpan);
答案 1 :(得分:2)
analytics-test-1279
只是将特殊字符插入XML的标准方法。您可以参考https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references获取更完整的说明,但要将其细分:
°
表示这是一个特殊角色的开始。&
表示字符用数字表示(与特殊字符串代码对比,例如&符号#
)。&
表示数字代码是十六进制值。x
度符号的十六进制值(十进制176)。b0
结束序列。另一种表示形式是;
,它使用十进制值而不是十六进制。
因此,如果您知道其ASCII十进制/十六进制值,则可以插入任何特殊字符。
答案 2 :(得分:2)
有很多方法可以做到:
1.-您可以按如下方式创建char
:
char degreesymbol = '\u00B0';
然后您可以将其添加到TextView
2.-您可以将其放在XML
上,如下所示:
android:text="50℃"
3.-如果你想以编程方式进行,请按以下步骤进行:
YOURTEXTVIEW.setText((Your_Temperature) + " \u2109");
答案 3 :(得分:1)
°
是degree symbol的HTML十六进制编码。
答案 4 :(得分:1)
&#39;&安培;#XB0&#39;它是学位的unicode角色。特殊字符以unicode格式使用。 (如果您不使用unicode字符,通常会显示警报)
来源: http://www.fileformat.info/info/unicode/char/b0/index.htm
如果你想知道为什么要使用unicode字符,这个网站解释一下: &#39; Unicode为每个字符提供唯一的编号(...)如果您的文档需要U + 0289,任何计算机程序都应该清楚该字符应该是什么&#39; http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=UTConvertQ1
答案 5 :(得分:1)
android:text="50°
具体°
是HTML十六进制编码!
此外,您可以°
使用同样的内容。
了解更多http://www.fileformat.info/info/unicode/char/b0/index.htm
如果您想使用代码,请尝试以下操作:myTextView.setText ( "50" + (char) 0x00B0 );
答案 6 :(得分:1)
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="\u00B0"/>
答案 7 :(得分:0)
对于任何来此页面寻找在JSP中执行此操作的人
<%@ page contentType="text/html; charset=UTF-8" %>
答案 8 :(得分:0)
计算机键盘上没有上标圆形式的印刷符号,通常用degrees celsius symbol表示的角度和温度值的大小表示。但是,在编码表中,操作系统用于在计算机屏幕上显示字符。它是此表中前128个字符之一,因此即使在最简单的文本格式(例如txt)的文档中也可以使用它。
答案 9 :(得分:0)
在 XML 中,如果要显示 android:text="32°" 可以使用:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="32°"
android:id="@+id/myTV"></TextView>
要以编程方式执行此操作,您可以使用:
myTV.setText("32" + (char) 0x00B0);