Kako lahko določim podčrtano besedilo v datoteki xml
postavitve sistema Android?
To lahko dosežete, če uporabljate datoteko string resource xml, ki podpira oznake HTML, kot so <b></b>
, <i></i>
in <u></u>
.
<resources>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
Če želite nekaj podčrtati v kodi, uporabite:
TextView textView = (TextView) view.findViewById(R.id.textview);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
textView.setText(content);
Zgornji odgovor "sprejeto" ne deluje ne deluje (ko poskušate uporabiti niz kot textView.setText(Html.fromHtml(String.format(getString(...), ...)))
.
Kot je navedeno v dokumentaciji, morate izogniti (html entiteti kodiranemu) začetnemu oklepaju notranjih oznak z <
, npr. rezultat bi moral izgledati kot:
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
Nato lahko v svoji kodi nastavite besedilo z:
TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(String.format(getString(R.string.my_string), ...)));
Vsebina datoteke Strings.xml:
<resource>
<string name="my_text">This is an <u>underline</u>.</string>
</resources>
Datoteka Layout xml mora uporabiti zgornji vir nizov s spodnjimi lastnostmi tekstovnega prikaza, kot je prikazano spodaj:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/my_text"
android:selectAllOnFocus="false"
android:linksClickable="false"
android:autoLink="all"
/>