回答
您需要在項目的assets文件夾下創建字體文件夾,並將TTF放入其中。然後在您的活動onCreate()
TextView myTextView=(TextView)findViewById(R.id.textBox);
Typeface typeFace=Typeface.createFromAsset(getAssets(),"fonts/mytruetypefont.ttf");
myTextView.setTypeface(typeFace);
請注意,並非所有的TTF都能正常工作。在我進行實驗的時候,它只適用於一個子集(在Windows上是名字用小寫字母寫的)。
在資產文件夾中創建一個名爲fonts的文件夾,並從下面的鏈接添加片段。
Typeface tf = Typeface.createFromAsset(getApplicationContext().getAssets(),"fonts/fontname.ttf");
textview.setTypeface(tf);
謝謝Janardhan謝謝,我明白了。 – bHaRaTh 2011-04-12 11:25:55
完成此操作最簡單的方法是將所需的字體 與您的應用程序打包在一起。爲此,只需在 項目的根目錄下創建一個資產/文件夾,然後將您的字體(以TrueType或TTF格式)放入 的資產中。例如,您可能會創建資產/字體/並將您的TTF文件放在那裏。
然後,您需要告訴您的小部件使用該字體。不幸的是, 您不能再使用佈局XML,因爲XML並不知道 關於您可能隱藏作爲應用程序資產的任何字體。 取而代之,您需要通過調用 Typeface.createFromAsset(getAssets(),「fonts/HandmadeTypewriter.ttf」), 然後採用創建的Typeface對象並通過setTypeface將其傳遞到您的 TextView來更改Java代碼)。
對於這裏更多的參考是在那裏我得到這個教程:
要實現你需要使用字樣與樣品經過下面的
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Roboto/Roboto-Regular.ttf");
for (View view : allViews)
{
if (view instanceof TextView)
{
TextView textView = (TextView) view;
textView.setTypeface(typeface);
}
}
}
爲'allViews'您使用通過佈局必須循環'getChildCount()' 所以你可以只用一個簡單的for循環更換的foreach。 – ConquerorsHaki 2016-03-09 12:47:51
您可以使用自定義TextView整個應用程序與自定義字體在這裏是一個例子
public class MyTextView extends TextView {
Typeface normalTypeface = Typeface.createFromAsset(getContext().getAssets(), Constants.FONT_REGULAR);
Typeface boldTypeface = Typeface.createFromAsset(getContext().getAssets(), Constants.FONT_BOLD);
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyTextView(Context context) {
super(context);
}
public void setTypeface(Typeface tf, int style) {
if (style == Typeface.BOLD) {
super.setTypeface(boldTypeface/*, -1*/);
} else {
super.setTypeface(normalTypeface/*, -1*/);
}
}
}
除了上述答案之外,還有一點。 當使用片段內的字體,字體實例應該在onAttach方法(覆蓋)進行,如下所示:片段是前
有很短的時間跨度:
@Override
public void onAttach(Activity activity){
super.onAttach(activity);
Typeface tf = Typeface.createFromAsset(getApplicationContext().getAssets(),"fonts/fontname.ttf");
}
原因附加到一項活動。如果在將片段附加到活動之前調用CreateFromAsset方法,則會發生錯誤。
- 1. 添加一個外部字體到WP7應用程序
- 2. 如何將外部jar添加到eclipse rcp應用程序中?
- 3. 如何將Android小部件添加到我的應用程序?
- 4. 如何將外部庫添加到我的應用程序中android
- 5. 如何將字體添加到Web應用程序.css文件
- 6. 如何將自定義字體添加到iPhone應用程序?
- 7. 如何將我的字體添加到hanami應用程序?
- 8. 如何將材料設計圖標字體添加到Android應用程序
- 9. 將tcpdump添加到android應用程序
- 10. 如何將外部資源/字體添加到Firefox擴展中?
- 11. 如何在Android應用程序中添加字體
- 12. 如何爲Android應用程序添加阿拉伯字體?
- 13. 如何將外部XML文件檢索到Android應用程序
- 14. 如何將外部SqliteDatabase連接到Android應用程序?
- 15. 如何將外部代碼嵌入到Android應用程序中?
- 16. 將外部令牌添加到我的Angular應用程序
- 17. 將外部JAR添加到Grails應用程序
- 18. 如何將System.Web引用添加到Windows窗體應用程序
- 19. 將droidText添加到Android - 將外部jar添加到Android
- 20. 添加自定義字體到Android應用程序
- 21. 如何將UIElement添加到Windows窗體應用程序?
- 22. 如何添加自定義字體到Rails應用程序?
- 23. 如何將外部對象添加到Max/MSP獨立應用程序
- 24. 將其他Android小部件添加到您的應用程序
- 25. Android開發:如何將應用程序添加到應用程序選擇器?
- 26. 如何使用Android Studio將外部庫添加到我的Android相機應用程序中?
- 27. 將自定義字體添加到應用程序
- 28. 將自定義字體添加到Windows Phone 8應用程序
- 29. 無法將Haettenschweiler字體添加到iOS應用程序
- 30. 如何將小部件添加到EXTJS應用程序?
謝謝zelimir我明白了。 – bHaRaTh 2011-04-12 11:26:11
不客氣。 – Zelimir 2011-04-12 11:27:50
這個資產文件夾在哪裏?我使用Android的工作室,我可以在src/ – intoTHEwild 2013-08-17 20:01:06