Jak mogę użyć niestandardowej czcionki, która została dodana w folderze zasobów w moim pliku xml? Wiem, że możemy użyć metody setTypeface()
w java, ale musimy to robić wszędzie, gdzie używamy tego TextView
. Czy istnieje lepszy sposób?Jak używać niestandardowej czcionki w Androidzie xml?
Odpowiedz
Najlepszym sposobem znalezienia przez Google jest - Powiedz, czy chcesz użyć w TextView, to musimy rozszerzyć Textview i musimy ustawić czcionkę, że później możemy użyć naszego dostosowanego Textview w naszym xml. Pokażę rozszerzony widok tekstowy poniżej
Wywołujemy metodę init(), aby ustawić czcionkę w każdym z modeli. Później musimy użyć tego w naszym pliku main.xml, jak pokazano poniżej.
<com.vins.test.MyTextView
android:id="@+id/txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="This is a text view with the font u had set in MyTextView class "
android:textSize="30dip"
android:textColor="#ff0000"
>
Aktualizacja:
Należy pamiętać o wycieku pamięci w pre-4.0 Androida jak wspomniano przez pandre.
@vins - co jeśli użytkownik stwierdza również "android: textStyle =" pogrubienie "'? Czy tekst rzeczywiście będzie pogrubiony? –
@kilaka Tak, powinno się odwrócić. – Vins
@vins - dzięki. Czy to oznacza, że plik ttf zawiera wszystkie podtypy czcionki - pogrubienie, kursywę itp. I ich kombinacje? –
Umieść plik czcionki w asset\fonts\fontname
zdefiniować trzy TextView w pliku xml następnie umieścić ten kod w swojej klasie działalność:
public class AndroidExternalFontsActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Font path
String fontPath = "fonts/DS-DIGIT.TTF";
String fontPath1 = "fonts/Face Your Fears.ttf";
String fontPath2 = "fonts/HelveticaNeue-Bold_0.otf";
// text view label
TextView txtGhost = (TextView) findViewById(R.id.ghost);
TextView txtGhost1 = (TextView) findViewById(R.id.ghost1);
TextView txtGhost2 = (TextView) findViewById(R.id.ghost2);
// Loading Font Face
Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);
Typeface tf1 = Typeface.createFromAsset(getAssets(), fontPath1);
Typeface tf2 = Typeface.createFromAsset(getAssets(), fontPath2);
// Applying font
txtGhost.setTypeface(tf);
txtGhost1.setTypeface(tf1);
txtGhost2.setTypeface(tf2);
}
}
Hej, to jest normalny sposób ustawienia czcionki, pytanie dotyczyło domyślnie używania niestandardowej czcionki w XML. – Vins
I zostały zaktualizowane moją odpowiedź. Proszę usunąć -ve z tej odpowiedzi. –
Wypróbuj ten samouczek [http://www.barebonescoder.com/2010/05/android-development-using-custom-fonts/](http://www.barebonescoder.com/2010/05/android-development-using -custom-fonts /) Myślę, że to pomaga – Ajay
Witam proszę odnieść ten post. problem z tą samą naturą został omówiony i tam udzielono odpowiedzi. –
Wajeeh