[英]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.