Następnie w moim kodzie utworzyłem ClickListener, aby przechwycić zdarzenie tap w tym TextView:
EDIT: Jak z API 23 „setTextAppearance” jest przestarzałe
TextView.setTypeface (null, Typeface.BOLD) jest tym, co zadziałało. Oczywiście możesz zamiast tego użyć 1, ale myślę, że ręczne wprowadzanie stałych nie jest dobrą praktyką. Lepiej używaj predefiniowanych zmiennych w bibliotekach.
Pijusn
4
Nie zachęcaj ludzi do używania intów zamiast stałych
Chris.Jenkins
3
Dobry! Mój błąd polegał na tym, że w pierwszym parametrze wysyłałem stary krój pisma. Tak więc działa, gdy zmienię NORMAL -> BOLD, ale nie BOLD -> NORMAL. Nie wiedziałem, że pierwszy parametr może być pusty! Teraz dla mnie działa dobrze!
Możesz to zrobić programowo za pomocą setTypeface ():
textView.setTypeface(null,Typeface.NORMAL);// for Normal Text
textView.setTypeface(null,Typeface.BOLD);// for Bold only
textView.setTypeface(null,Typeface.ITALIC);// for Italic
textView.setTypeface(null,Typeface.BOLD_ITALIC);// for Bold and Italic
To zmienia krój pisma. nie styl określony przez OP.
HBG
To prawda, nadal była to najprostsza metoda - i o ile pamiętam jedyna - w momencie publikacji. Nie jestem pewien, czy w międzyczasie dodano nową metodę API, która umożliwia zmianę „stylu” na pogrubiony bez zmiany kroju pisma. Proszę popraw mnie jeżeli się mylę.
tutaj, pobierze aktualny krój pisma z tego widoku tekstu i zastąpi go nowym krojem. Nowy krój jest tutaj, DEFAULT_BOLDale możesz zastosować o wiele więcej.
Aby nadać styl ciągom, dołącz obiekty android.text.style. * Do SpannableString lub zapoznaj się z dokumentacją dostępnych typów zasobów, aby zapoznać się z przykładem ustawiania sformatowanego tekstu w pliku zasobów XML.
W zależności od tego, jaki styl chcesz ustawić, musisz użyć różnych metod. Rzeczy TextAppearance mają swój własny seter, TypeFace ma swój własny seter, tło ma swój własny seter itp.
Odpowiedzi:
Zrobiłem to, tworząc nowy plik XML
res/values/style.xml
w następujący sposób:Mam również wpisy w moim pliku „strings.xml”, takie jak ten:
Następnie w moim kodzie utworzyłem ClickListener, aby przechwycić zdarzenie tap w tym TextView: EDIT: Jak z API 23 „setTextAppearance” jest przestarzałe
Aby to zmienić, użyjesz tego:
źródło
Jak zasugerował Jonathan, używając
textView.setTextTypeface
dzieł, właśnie użyłem go w aplikacji kilka sekund temu.źródło
Ustawiłeś to z kodu. Krój pisma
źródło
Programowo: czas wykonywania
Możesz to zrobić programowo za pomocą setTypeface ():
XML: Czas projektowania
Możesz również ustawić w XML:
Mam nadzieję, że to pomoże
Summved
źródło
Okazało się,
textView.setTypeface(Typeface.DEFAULT_BOLD);
że jest to najprostsza metoda.źródło
wypróbuj tę linię kodu.
tutaj, pobierze aktualny krój pisma z tego widoku tekstu i zastąpi go nowym krojem. Nowy krój jest tutaj,
DEFAULT_BOLD
ale możesz zastosować o wiele więcej.źródło
Zobacz doco dla setText () w TextView http://developer.android.com/reference/android/widget/TextView.html
źródło
W zależności od tego, jaki styl chcesz ustawić, musisz użyć różnych metod. Rzeczy TextAppearance mają swój własny seter, TypeFace ma swój własny seter, tło ma swój własny seter itp.
źródło