2013-06-05 21 views
0


我想在我的Android设备上添加一些字体。我知道它必须植根于安装字体。但是一些像星系这样的设备(我的是Galaxy S II)支持字体而不是根。我的意思是在非根用户设备上添加字体的方式(如果支持)?
它只是在字体文件夹中复制该字体什么的?
预先感谢您!

我不想在应用程序中使用字体,只是改变文本视图的类型或其他东西。我想改变我的android系统的字体。例如设置菜单的字体和该设备的其他位置。通过编程在android设备上安装字体

+0

任何解决方案?我想我说得很清楚。 – lvle

回答

1

你可以, 你不能将字体定义为xml布局。您需要每次动态使用它。例如,检查this tutorial

如果链接是死的,这里是一个总结的东西:

获取字体文件像TIMES.TTF

把它放到你的资产的文件夹,里面一个“字体”文件夹

012:

TextView tv = (TextView) findViewById(R.id.myCustomTVFont); 

抓住你从资源文件夹字体: ,与类似的东西找TextView(UI元素)的参考

Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/times.ttf"); 

让你的TextView很好看:

tv.setTypeface(tf); 
+0

我不想在应用程序中使用字体,只是改变文本视图的类型或其他东西。我想改变我的android系统的字体。例如设置菜单的字体和该设备的其他位置。 – lvle

+0

如果你想改变我的android系统的字体。那么你必须先制作Android设备根目录,以便更多地参考此解决方案http://www.droid-now.com/2013/03/why-root-advantages-disadvantages/ –

0

如果你不想每次都设置字体。你可以创建一个自定义的TextView

public class CustomFontTypeTextView extends TextView { 


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


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

    private void init(Context context) { 
     if (!isInEditMode()) { 
      Typeface font = Typeface.createFromAsset(context.getAssets(), "Your TypeFce"); 
      setTypeface(font); 
     } 
    } 
} 
相关问题