Chcę zrobić aplikację w języku innym niż angielski. Potrzebuję więc tekstów, napisów i tostów w języku nieangielskim. Ustawienie kroju czcionki dla każdego tekstu jest uciążliwe. Czy istnieje sposób ustawienia domyślnej czcionki? Kiedy muszę odwołać się do czegoś w języku angielskim (np. Identyfikator e-mail), wtedy mogę użyć metody textview.settypeface (xyz).Jak zmienić domyślną czcionkę aplikacji na Androida?
7
A
Odpowiedz
9
Jest biblioteka ruszt dla niestandardowych czcionek w Androidzie: custom fonts
Oto przykład, jak go używać.
W Gradle trzeba umieścić ten wiersz:
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
a następnie dokonać klasy, która rozszerza stosowanie się napisać ten kod:
public class App extends Application {
@Override public void onCreate() { super.onCreate();
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("your font path")
.setFontAttrId(R.attr.fontPath)
.build()
);
}
}
aw klasie działalności zastosuj tę metodę wcześniej: Utwórz:
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
i ostatnią rzeczą w oczywisty zapisu pliku tak:
<application
android:name=".App"
i to zmieni całą działalność do czcionki !. Nie jestem prosty i czysty!
1
Możesz to osiągnąć głównie na 3 sposoby. jednym sposobem byłoby stworzenie własnego TextView i odnoszą się, że wszędzie, to znaczy:
public class TypefacedTextView extends TextView {
public TypefacedTextView(Context context, AttributeSet attrs) {
super(context, attrs);
Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontName);
setTypeface(typeface);
}
}
i wewnątrz View.xml
<packagename.TypefacedTextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello"/>
inny sposób, jest użycie potężnego Calligraphy
bibliotekę w github. see this
I wreszcie, można przesłonić domyślne własnymi czcionkami, see this
możesz wypróbować ten link https://coderwall.com/p/qxxmaa/android-use-a-ustom-font-wszystkim –