2013-01-09 72 views
4

以前,爲了使我的應用程序可以在薑餅裝置或更高版本中使用,我必須將Robotto字體資源複製到資源文件夾中。這是因爲薑餅本身並不帶有Robotto字體。我們是否需要每次在應用程序中更改字體時都要複製字體TTF

enter image description here

然而,讓我們說,我決定來部署應用只果凍豆設備。

  1. 我還需要手動將字體資源複製到我的資產文件夾嗎?我可以使用系統本身的字體資源嗎?這是鼓勵能力嗎?我在想,沒有提供我自己的字體文件,我可以使我的應用程序更小。
  2. 這是從資產文件夾中獲取TypeFace的代碼。

    Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Roboto-Regular.ttf");

    如果我想從系統本身得到TypeFace直接,怎麼樣?

回答

12

好消息是,如果你支持4.1,那簡直太簡單了。查看this link並向下滾動到字體以獲取全部細節信息,但基本上,您將有三種字體系列(Roboto,Roboto Light,RobotoCondensed)可供選擇,每種字體(正常,粗體,斜體,粗體斜體) 。

在XML中,你可以使用標準的文本屬性:

android:fontFamily="sans-serif" 
android:fontFamily="sans-serif-light" 
android:fontFamily="sans-serif-condensed" 

android:textStyle="bold" 
android:textStyle="italic" 
android:textStyle="bold|italic" 

或者編程,你可以獲取他們像這樣:

Typeface robotoLightItalic = Typeface.create("sans-serif-light", Typeface.ITALIC); 
+0

THX。但對於支持薑餅的項目,我仍然需要回到老路。 –

+0

是的,如果你支持4.1以前的版本(在這一點上仍然非常需要),你仍然需要將它們複製到assets文件夾中。 – kcoppock

相關問題