Android 在文本视图中显示学位符号

Android 在文本视图中显示学位符号,android,xml,user-interface,Android,Xml,User Interface,我想使用TextView在我的活动中显示50度,如下所示 我真的不知道如何做到这一点,通过谷歌搜索我找到了这段XML代码 android:text="50°" 我不知道上面的代码是什么。 有人能给我解释一下它到底是做什么的以及它是如何工作的吗是一个字符串的HTML十六进制编码 这是表示度的unicode字符。unicode格式中使用特殊字符。(如果不使用unicode字符,通常会显示警报) 资料来源: 如果您想知道为什么要使用unicode字符,本网站将对此进行解释: '

我想使用
TextView
在我的活动中显示50度,如下所示

我真的不知道如何做到这一点,通过谷歌搜索我找到了这段XML代码

android:text="50°"
我不知道上面的代码是什么。
有人能给我解释一下它到底是做什么的以及它是如何工作的吗是一个字符串的HTML十六进制编码

这是表示度的unicode字符。unicode格式中使用特殊字符。(如果不使用unicode字符,通常会显示警报)

资料来源:

如果您想知道为什么要使用unicode字符,本网站将对此进行解释: 'Unicode为每个字符提供唯一的编号(…),如果您的文档需要U+0289,则任何计算机程序都会清楚该字符应该是什么'
和#xb0
只是将特殊字符插入XML的标准方法。有关更完整的说明,请参阅,但要将其细分:

  • &
    表示它是特殊字符的开头
  • #
    表示字符用数字表示(相对于特殊的字符串代码,例如,
    &;
    表示符号)
  • x
    表示数字代码是十六进制值
  • b0
    度符号的十六进制值(十进制为176)
  • 结束序列
另一种表示法是
和#176使用十进制值而不是十六进制值

因此,如果您知道其ASCII十进制/十六进制值,您可以插入任何特殊字符。

android:text=“50°;
特别是
&xb0;
是HTML十六进制编码

此外,您还可以使用
和#176;
这是一样的

更多


如果要使用代码,请尝试以下方法:
myTextView.setText(“50”+(char)0x00B0);

有很多方法:

1.-您可以创建一个
char
,如下所示:

char degreesymbol = '\u00B0';
android:text="50℃"
YOURTEXTVIEW.setText((Your_Temperature) + " \u2109");
然后您可以将其添加到
TextView

2.-您可以将其放在
XML
上,如下所示:

char degreesymbol = '\u00B0';
android:text="50℃"
YOURTEXTVIEW.setText((Your_Temperature) + " \u2109");
3.-如果您希望以编程方式进行,请按照以下步骤进行:

char degreesymbol = '\u00B0';
android:text="50℃"
YOURTEXTVIEW.setText((Your_Temperature) + " \u2109");
  • 摄氏度使用:

         "\u2103" 
    
  • 对于华氏温度使用:

          "\u2109"
    
    仅限不带c或f的学位符号使用:

         "\u00B0"
    
    例如:

          String TemperatureMeasurementStr = String.valueOf(measurement.getTemperature()) + "\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 = "37"+ "\u2103";
    
    并在textView中设置字符串

          public TextView temperatureTV;                     
          temperatureTV.setText(TemperatureMeasurementStr);
    
  • 如果只想将符号添加到xml布局文件中,只需使用:

       android:text="37\u2103"
    
                                        Alt+0176  
    
  • 例如:

          String TemperatureMeasurementStr = String.valueOf(measurement.getTemperature()) + "\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"
      />
    
    最后,如果您只想在windows(包括android studio)的任何编辑器中键入学位符号“°”,只需使用:

       android:text="37\u2103"
    
                                        Alt+0176  
    

    
    
    上标圆圈形式的印刷符号,通常由数值大小表示​​计算机键盘上没有以测量的角度和温度。但是,在编码表中,操作系统用于在计算机屏幕上显示字符。它是该表中前128个字符之一,即使在最简单文本格式的文档中也可以使用,例如,在XM中的txt。

    五十、 如果要显示android:text=“32°”,可以使用:

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"      
    android:text="32&#xb0;"
    android:id="@+id/myTV"></TextView>
    
    myTV.setText("32" + (char) 0x00B0); 
    

    50°
    不起作用吗?!如果我直接插入这个字符,上面的字符串是unicode度符号的十进制表示法。没有任何十六进制代码或其他幻想方法(即:实体名称或如何调用它)。因为1-我在xml文件中使用UTF-8声明。2-我使用Unicode编码保存文件。虽然这可能会回答OP的问题,但几句解释将有助于当前和未来的用户。“在计算机键盘上没有。”。“-不在我的-”:)此字符是否在键盘上取决于您的键盘。