Можно использовать
, чтобы получить удобочитаемое решение. Включение \u00A0
или  
или  
/  
в тексте на самом деле не передает много информациичитатель исходного кода (или переводчик в этом отношении), если вы не помните шестнадцатеричные коды.Вот способ использования именованного объекта в strings.xml
:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE resources [
<!ENTITY nbsp " "><!-- non-breaking space, U+00A0 -->
]>
<resources>
...
</resources>
Это создаст отсутствующее объявление.Исходное объявление HTML можно найти в https://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent, на который ссылаются обычные XHTML DTD .Все это работает, потому что синтаксический анализатор XML читает их и подставляет при загрузке файла, поэтому сущность не будет присутствовать в результирующих скомпилированных ресурсах.
в ресурсах Android Text (CharSequence
)
<!-- Defined in <resources> -->
<string name="html_text">Don\'t break <b>this name</b></string>
<!-- Used in a layout -->
<TextView
android:layout_width="130dp"
android:layout_height="wrap_content"
android:background="#10000000"
android:text="@string/html_text"
/>
Устройство и предварительный просмотр (предварительный просмотр не распознает HTML)
inСтрока Android (в формате) Ресурсы
<!-- Defined in <resources> -->
<string name="formatted_text">%1$s is nice</string>
<!-- Used in a layout -->
<TextView
android:layout_width="130dp"
android:layout_height="wrap_content"
android:background="#10000000"
tools:text="@string/formatted_text"
/>
Затем в коде:
String contents = getString(R.string.formatted_text, "Using an ");
((TextView)view.findViewById(android.R.id.text1)).setText(contents);
Устройство и предварительный просмотр (предварительный просмотр не распознает объекты, а строки Java являются буквальным текстом!)
Дальнейшие уловки
Это просто примеры использования сущностей DTD, используйте их исходя из собственных предпочтений.
<!ENTITY con "\'"><!-- contraction, otherwise error: "Apostrophe not preceded by \"
Sadly ' cannot be overridden due to XML spec:
https://www.w3.org/TR/xml/#sec-predefined-ent -->
<!ENTITY param1 "%1$s"><!-- format string argument #1 -->
<string name="original">Don\'t wrap %1$s</string>
<string name="with_entities">Don&con;t wrap ¶m1;</string>
Они оба помогают выделить: