2016-04-11 65 views
0

我試圖做this如何直接從android sdk訪問DroidSans.ttf?

代碼的重要組成部分,是在這裏:

注意這行代碼,其中「fontAssetName」將是一些字體文件(在我的情況下,它DroidSans.ttf)必須位於我的資產文件夾中。

final Typeface regular = Typeface.createFromAsset(context.getAssets(), 
      fontAssetName); 

我想這樣做,而不必具有TTF字庫文件的副本,我的資產文件夾中。這是因爲我不想處理下載字體的版權許可。我想使用的字體是DroidSans.ttf,它應該在android sdk中提供,因爲它是默認字體。有沒有什麼辦法可以從android sdk訪問這個字體?

+0

「我想使用的字體是應該在android sdk中提供的DroidSans.ttf,因爲它是默認字體」 - 不是過去五年。 – CommonsWare

+0

@CommonsWare是否有由sdk提供的任何字體,並且可以通過直接調用.ttf文件訪問它們? – BrettG

+0

不是我所知道的。 – CommonsWare

回答

0

Android已經內置字體,

android:fontFamily="sans-serif"   // roboto regular 
android:fontFamily="sans-serif-light"  // roboto light 
android:fontFamily="sans-serif-condensed" // roboto condensed 
android:fontFamily="sans-serif-thin"  // roboto thin (android 4.2) 
android:fontFamily="sans-serif-medium" // roboto medium (android 5.0) 

如果你想使用不同的東西,你需要自己包括字體,你在幹什麼。

Android不包含大量字體,如桌面操作系統。原因是它擴大了分佈範圍,並在應用程序之間創建了非均勻外觀。

+0

我不想使用不同的東西。我想使用android提供的。如何訪問android提供的.ttf字體文件? – BrettG

+0

您不必加載TTF字體。按照上面所示設置字體系列,然後獲取該字體。 –

+0

當您編寫此答案時,您是否將我的問題描述中的第一行納入考慮範圍? – BrettG