Mam textView
wnętrze z liczbą (zmienną) i string
, jak mogę podać numer o jeden rozmiar większy niż string
? kod:
TextView size = (TextView)convertView.findViewById(R.id.privarea_list_size);
if (ls.numProducts != null) {
size.setText(ls.numProducts + " " + mContext.getString(R.string.products));
}
Chcę, aby ls.numproducts miało rozmiar inny niż reszta tekstu. Jak zrobić?
Na wypadek gdybyś zastanawiał się, jak ustawić wiele różnych rozmiarów w tym samym widoku tekstu, ale używając rozmiaru bezwzględnego, a nie względnego, możesz to osiągnąć za pomocą
AbsoluteSizeSpan
zamiastRelativeSizeSpan
.Po prostu uzyskaj wymiar w pikselach o żądanym rozmiarze tekstu
a następnie utwórz nowy
AbsoluteSpan
na podstawie tekstuźródło
AbsoluteSizeSpan
przykłademAbsoluteSizeSpan(sizeInDip, true)
do określenia rozmiaru bezpośrednio w dpMożesz to zrobić, używając ciągu html i ustawiając html na Textview za pomocą
txtView.setText(Html.fromHtml("Your html string here"));
Na przykład :
źródło
Metoda 1
za pomocą
Metoda 2
za pomocą
źródło
Wypróbuj spannableStringbuilder . Korzystając z tego, możemy utworzyć ciąg znaków o wielu rozmiarach czcionek.
źródło
---------------- Wynik ---------------
Wynik:
12345. 24
źródło
Najlepszym sposobem na to jest Html bez podłańcucha tekstu iw pełni dynamique Na przykład:
i możesz użyć atrybutu koloru itp ... jeśli z drugiej strony:
źródło
Napisałem własną funkcję, która przyjmuje 2 ciągi i 1 int (rozmiar tekstu)
Pełny tekst i część tekstu, której rozmiar chcesz zmienić.
Zwraca SpannableStringBuilder, którego można użyć w widoku tekstu.
źródło
Jeśli chcesz uniknąć zbytniego zamieszania ze strony tłumaczy, wymyśliłem sposób, aby w ciągach znaków umieścić tylko symbol zastępczy, który będzie obsługiwany w kodzie.
Więc załóżmy, że masz to w stringach:
A jeśli chcesz, aby tekst zastępczy miał inny rozmiar i kolor, możesz użyć tego:
A wynik:
źródło