我有一個button
使用Android小部件創建。我想將按鈕文本的字體設置爲Helv Neue 67 Med Cond
。如何獲取此字體並將其設置爲android佈局文件中的按鈕文本?在Android中設置按鈕文本字體
13
A
回答
13
首先,你必須把資產的文件夾中的ttf文件,然後你可以用下面的代碼來設置自定義字體中的TextView,相同的方式可以爲按鈕做:
TextView txt = (TextView) findViewById(R.id.custom_font);
Typeface font = Typeface.createFromAsset(getAssets(), "Helv Neue 67 Med Cond.ttf");
txt.setTypeface(font);
1
您可以使用:
android:typeface="yourfont"
0
您必須下載Helv Neue 67 Med Cond
字體並將其存儲在資產文件夾中。讓下載的字體是myfont.ttf
使用下面的代碼設置字體
Typeface tf = Typeface.createFromAsset(getAssets(), "myfont.ttf");
TextView TextViewWelcome = (TextView)findViewById(R.id.textViewWelcome);
TextViewWelcome.setTypeface(tf);
感謝 迪帕克
2
的Android自帶的3種字體(Sans, Serif, Monospace)
可使用android:typeface=」FONT_NAME」
被accesed。
對於使用自定義字體,你應該使用類似的代碼
TextView txt = (TextView) findViewById(R.id.custom_font);
Typeface typeface = Typeface.createFromAsset(getAssets(), "Helv Neue 67 Med Cond.ttf");
txt.setTypeface(typeface);
一些類似的問題是Custom Fonts in Android和Android - Using Custom Font。
0
這是一個很好的文章,我用了幾次,工作原理: http://mobile.tutsplus.com/tutorials/android/customize-android-fonts/
25
我猜你可能已經找到了答案,但如果沒有(和其他開發者),你可以像下面這樣做:
1.您想將「Helv Neue 67 Med Cond.ttf」保存到assets文件夾中。 然後
對於TextView的
TextView txt = (TextView) findViewById(R.id.custom_font);
Typeface typeface = Typeface.createFromAsset(getAssets(), "Helv Neue 67 Med Cond.ttf");
txt.setTypeface(typeface);
對於按鈕
Button n=(Button) findViewById(R.id.button1);
Typeface typeface = Typeface.createFromAsset(getAssets(), "Helv Neue 67 Med Cond.ttf");
n.setText("show");
n.setTypeface(typeface);
2
如果您打算添加相同的字體的幾個按鈕,我建議你去所有的方式和實施小類按鈕:
public class ButtonPlus extends Button {
public ButtonPlus(Context context) {
super(context);
applyCustomFont(context);
}
public ButtonPlus(Context context, AttributeSet attrs) {
super(context, attrs);
applyCustomFont(context);
}
public ButtonPlus(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
applyCustomFont(context);
}
private void applyCustomFont(Context context) {
Typeface customFont = FontCache.getTypeface("fonts/candy.ttf", context);
setTypeface(customFont);
}
}
而這裏的FontCache減少對舊設備的內存使用情況:
public class FontCache {
private static Hashtable<String, Typeface> fontCache = new Hashtable<>();
public static Typeface getTypeface(String name, Context context) {
Typeface tf = fontCache.get(name);
if(tf == null) {
try {
tf = Typeface.createFromAsset(context.getAssets(), name);
}
catch (Exception e) {
return null;
}
fontCache.put(name, tf);
}
return tf;
}
}
最後在佈局的例子使用:
<com.my.package.buttons.ButtonPlus
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_sometext"/>
這可能看起來像一個可怕的很多工作,但你一旦你有幾把你想要改變字體的按鈕和文本框,就會感謝我。
相關問題
- 1. 在android中設置字體toa文本
- 2. Android按鈕未設置文字顏色
- 3. 設置按鈕的文字。 Android開發
- 4. android在按鈕中設置2個不同的字體大小
- 5. 如何在Android中設置所有文本字段和按鈕的文本
- 6. 在動作中設置按鈕文本
- 7. 默認後退按鈕文本和字體設置
- 8. 將按鈕的輸出文本設置爲特定的字體
- 9. GWT文本框和按鈕的字體大小不能設置
- 10. 如何在按鈕中設置文本中的圖像 - android?
- 11. 如何在線程中設置Android中按鈕上的文本?
- 12. 按鈕android,文本位置
- 13. Android ListView迭代設置字體/文本
- 14. 在Android中設置字體
- 15. 如何在Android中爲按鈕設置自定義文本?
- 16. 如何在android中設置一個文本按鈕
- 17. 在Android中動態設置單選按鈕的文本
- 18. 設置字體文本視圖android(來自字體文件)
- 19. 我如何設置json響應字符串android按鈕文本
- 20. jWYSIWYG設置字體顏色按鈕
- 21. 設置按鈕數組中的文本
- 22. 如何在Android中爲特定文本視圖設置字體?
- 23. 在按鈕單擊文本框中設置默認文本
- 24. extjs - 在較小的按鈕上正確放置按鈕內的字體文本
- 25. 如何在文本視圖中設置按鈕設置文本onclick數據
- 26. 如何在Android中設置按鈕?
- 27. 在Android中設置按鈕不可見
- 28. 設置在Android上按鈕的文本使用框架佈局
- 29. 在Android中設置文本
- 30. 中心文本android按鈕
是的。但我想要Helv Neue 67 Med Cond字體。我怎樣才能得到這種字體? – Ajn 2011-06-16 13:20:01
不適用於自定義字體;擴展每個元素或查看使用自定義佈局inflater。 – clwhisk 2015-04-22 16:27:09