2016-05-14 51 views
0

我正在尝试将字体样式更改为Cambria,这是我的Android应用程序中活动的标题/动作栏上的瓷砖。对于这个我是这样的:如何更改活动瓷砖的字体样式

TextView tv = new TextView(MainActivity.this); 
Typeface type = Typeface.createFromAsset(getAssets(),"fonts/Cambria"); 
tv.setText("My App"); 
tv.setTypeface(type); 
actionBar.setCustomView(tv); 

但是这是行不通的。好心帮忙。

+1

您好像缺少文件扩展名。你确定这应该是'字体/ Cambria'而不是'字体/ Cambria.ttf'或类似的东西吗?另外,您是否购买了此字体的许可证,因为[Cambria是一种商业字体](https://en.wikipedia.org/wiki/Cambria_%28typeface%29)? – CommonsWare

回答

0

对于您的问题有很多解决方案,但我更喜欢您创建自定义textview并在您的xml和代码中使用该textview。

public class customText extends TextView { 

public customText (Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
    init(); 
} 

public customText (Context context, AttributeSet attrs) { 
    super(context, attrs); 
    init(); 
} 

public customText (Context context) { 
    super(context); 
    init(); 
} 

public void init() { 
    Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/Cambria.ttf"); 
    setTypeface(tf ,1); 

} 
} 
+0

有没有简单的方法来改变Android中的字体样式,就像在Java中一样? –