2014-01-13 53 views
1

我用下面的代碼支持Android,如何知道TTF

TextView as; 
as=(TextView)fragmentView.findViewById(R.id.e1_name); 
Typeface font = Typeface.createFromAsset(getActivity().getAssets(),"fonts/wt071.ttf "); 
     as.setTypeface(font); 

結果錯誤

01-13 13:45:32.587 22738-22738/cytech.example.app E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: cytech.example.app, PID: 22738 
java.lang.RuntimeException: native typeface cannot be made 
     at android.graphics.Typeface.<init>(Typeface.java:175) 
     at android.graphics.Typeface.createFromAsset(Typeface.java:149) 
     at cytech.example.app.e.fg_e1.onCreateView(fg_e1.java:58) 
     at android.app.Fragment.performCreateView(Fragment.java:1700) 
     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890) 
     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 
     at android.app.BackStackRecord.run(BackStackRecord.java:684) 
     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447) 
     at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443) 
     at android.os.Handler.handleCallback(Handler.java:733) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5017) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
     at dalvik.system.NativeStart.main(Native Method) 

是TTF不支持的Android?

我嘗試了很多中文TTF,它不工作。

有什麼辦法來解決 或者我在哪裏可以找到支持

+0

在我的情況'字樣font = Typeface.createFromAsset(context.getAssets(),「customfont.ttf」);'工作。請發佈完整的錯誤日誌。這可能是一個像「找不到文件/資產」的問題。並且請嘗試另一種字體,例如Verdana絕對有效。 (首先確保它適用於英文,然後查看關於中文可能會做些什麼。)並且...當資源發生變化時,Eclipse需要在重建之前進行清理(這是一個錯誤)。 – 18446744073709551615

+0

本機不支持的原因 - 檢查此鏈接,我認爲有幫助http://stackoverflow.com/questions/7531856/issue-when-using-a-custom-font-native-typeface-cannot-be-made – Sanket990

+0

嗯,有趣的如果(0 == ni)拋出新的RuntimeException(「不能創建本地字體」); } native_instance = ni; }' – 18446744073709551615

回答

2

列表試試這個.. .ttf後,您給予的空間像"fonts/wt071.ttf "刪除,並嘗試

Typeface font = Typeface.createFromAsset(getActivity().getAssets(),"fonts/wt071.ttf"); 
as.setTypeface(font);