簡體   English   中英

確定某些字體在Android中是否可用?

[英]Determine if certain fonts are available in android?

我最近一直在使用Devanagari / Hindi字體。 我的android應用程序使用sherlock庫一直支持到android 2.1。 我的問題是,有什么方法可以確定設備是否以編程方式支持/提供devanagari / hindi字體?

我知道Android手機的姜餅容量不足,因此不支持這些字體,因此可以放心地假設我可以使用應用程序本身提供的自定義字體。 但是我不想使用我的自定義字體,如果這些字體很容易從系統中獲得(對於大於Ice Cream Sandwich的android手機)。

我的應用程序可以使用我的自定義字體正常工作。

使用自定義字體的代碼:

Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/mangal.ttf");
TextView txtviewdevanagari = (TextView) findViewById(R.id.textViewdevnagari);
txtviewdevanagari.setTypeface(typeface);

確定Android OS的代碼:

if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
    String str = fixUnicode(content[1]);
    Log.d("DetailActivity", "from gingerbread");
    Log.d("DetailActivity", str);
    if(!content[1].equals(null))txtviewdevanagari.setText(str);
}else{
    Log.d("DetailActivity", "from ICS+");
    if(!content[1].equals(null))txtviewdevanagari.setText(content[1]);
}

Android僅提供3種字體:
1.普通(Droid Sans)
2.襯線(Droid Serif)
3.等寬線(Droid Sans Mono)
資源

從4.1 Roboto開始可用:

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)  

資源

與Java Swing不同,您無法確定Android中是否提供某種字體:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM