Chcę, aby TextView
treść była pogrubiona, pochylona i podkreślona. Wypróbowałem następujący kod i działa, ale nie podkreśla.
<Textview android:textStyle="bold|italic" ..
Jak mam to zrobić? Jakieś szybkie pomysły?
android
textview
text-styling
d-man
źródło
źródło
tv.setTypeface(null, Typeface.BOLD_ITALIC);
Odpowiedzi:
Nie wiem o podkreśleniu, ale dla pogrubienia i kursywy istnieje
"bolditalic"
. Brak wzmianki o podkreśleniu tutaj: http://developer.android.com/reference/android/widget/TextView.html#attr_android:textStylePamiętaj, że aby skorzystać ze wspomnianego
bolditalic
, musisz, i cytuję z tej stronywięc użyjesz
bold|italic
Możesz sprawdzić to pytanie w celu podkreślenia: Czy mogę podkreślić tekst w układzie Androida?
źródło
textView.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);
To powinno sprawić, że TextView będzie jednocześnie pogrubiony , podkreślony i kursywą .
strings.xml
Aby ustawić ten ciąg na TextView, zrób to w pliku main.xml
lub w JAVA ,
Czasami powyższe podejście nie będzie pomocne, gdy konieczne będzie użycie tekstu dynamicznego. W takim przypadku zaczyna działać SpannableString .
WYNIK
źródło
new StyleSpan(Typeface.BOLD_ITALIC)
Lub tak po prostu w Kotlin:
Lub w Javie:
Niech to będzie proste i w jednej linii :)
źródło
paintFlags
konieczne? Działa bez tegoW przypadku pogrubienia i kursywy wszystko, co robisz, jest poprawne dla podkreślenia, użyj następującego kodu
HelloAndroid.java
main.xml
string.xml
źródło
underline
wartość przekazać null zamiastnew UnderlineSpan()
następującocontent.setSpan(null, 0, content.length(), 0);
Jest to prosty sposób na dodanie podkreślenia przy jednoczesnym zachowaniu innych ustawień:
źródło
Programowo:
Możesz to zrobić programowo, używając metody setTypeface ():
Poniżej znajduje się kod domyślnego kroju pisma
a jeśli chcesz ustawić niestandardowy krój pisma:
XML:
Możesz ustawić Bezpośrednio w pliku XML w następujący sposób:
źródło
Jeśli czytasz ten tekst z pliku lub z sieci.
Możesz to osiągnąć, dodając tagi HTML do tekstu, jak wspomniano
a następnie możesz użyć klasy HTML, która przetwarza ciągi HTML na tekst w stylu do wyświetlenia.
źródło
Bez cytatów działa dla mnie:
źródło
źródło
Tylko jeden wiersz kodu w XML
źródło
Można go łatwo osiągnąć za pomocą Kotlin na
buildSpannedString{}
podstawie jegocore-ktx
uzależnienia.źródło