回答
您需要在项目的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. 如何将外部jar添加到eclipse rcp应用程序中?
- 2. 如何将Android小部件添加到我的应用程序?
- 3. 如何将我的字体添加到hanami应用程序?
- 4. 如何将自定义字体添加到iPhone应用程序?
- 5. 如何将材料设计图标字体添加到Android应用程序
- 6. 如何将UIElement添加到Windows窗体应用程序?
- 7. 将其他Android小部件添加到您的应用程序
- 8. 如何使用Android Studio将外部库添加到我的Android相机应用程序中?
- 9. 将自定义字体添加到应用程序
- 10. 如何将小部件添加到EXTJS应用程序?
- 11. 如何将壁纸库添加到Android应用程序
- 12. 如何将按钮添加到Android应用程序底部的Google Play商店?
- 13. Android将外部库添加到项目
- 14. 将外部软件包添加到Android
- 15. 使用Android应用程序添加斜体字体并链接到短信中
- 16. 如何将自定义字体添加到我的iOS应用程序中?
- 17. 如何将外部库添加到QT?
- 18. 如何将外部库添加到CMakeLists?
- 19. 如何在Ionic2应用程序中添加外部JavaScript库
- 20. 完整应用的Android外部字体
- 21. android tracking-如何将外部参数传递给应用程序?
- 22. Android:如何添加将应用程序移动到外部存储设备的可能性
- 23. 如何在Android的应用程序图标顶部添加TextView
- 24. 如何将外部属性文件位置添加到部署到tomcat 6的Spring Boot应用程序?
- 25. 将字体大小添加到android
- 26. 如何将外部.jar添加到android项目? (一定条件)
- 27. 将用户添加到应用程序
- 28. Android - 将菜单项添加到Android的内置应用程序
- 29. Android - 将菜单项添加到Android的内置应用程序?
- 30. JasperReports:如何在应用程序类路径中添加字体
谢谢zelimir我明白了。 – bHaRaTh 2011-04-12 11:26:11
不客气。 – Zelimir 2011-04-12 11:27:50
这个资产文件夹在哪里?我使用Android的工作室,我可以在src/ – intoTHEwild 2013-08-17 20:01:06