2013-06-05 20 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); 
     } 
    } 
} 
相關問題