Bir Android düzeni xml
dosyasında altı çizili metni nasıl tanımlayabilirim?
Eğer <b></b>
, <i></i>
ve <u></u>
gibi HTML etiketlerini destekleyen bir string resource xml dosyası kullanıyorsanız bunu başarabilirsiniz.
<resources>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
Koddan bir şeyin altını çizmek istiyorsanız kullanın:
TextView textView = (TextView) view.findViewById(R.id.textview);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
textView.setText(content);
Yukarıdaki "accepted" yanıtı HAYIR çalışmaz (dizeyi textView.setText(Html.fromHtml(String.format(getString(...), ...))
gibi kullanmaya çalıştığınızda).
Documentations]1'de belirtildiği gibi, iç etiketlerin açılış parantezini <
ile kaçmalısınız (html varlık kodlu), örneğin sonuç şöyle görünmelidir:
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
Ardından kodunuzda metni şu şekilde ayarlayabilirsiniz:
TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(String.format(getString(R.string.my_string), ...)));
Strings.xml dosya içeriği:
<resource>
<string name="my_text">This is an <u>underline</u>.</string>
</resources>
Düzen xml dosyası, aşağıda gösterildiği gibi textview'in aşağıdaki özellikleriyle birlikte yukarıdaki dize kaynağını kullanmalıdır:
<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"
/>