2013-03-06 3 views
0

현재 진행중인 기본 애니메이션에 대한 자습서가 있습니다. 코드 내에 사용자 정의 서체를 포함하기 전에 코드가 작동했습니다. 나는 누군가가 저를 도울 수 있을지 생각해보고 있었다. 나는 LogCat과 제 서체 코드를 포함 시켰습니다.사용자 정의 서체가 작동하지 않습니다.

Typeface font; 

public MyBringBack(Context context) { 
    super(context); 

    gPlus = BitmapFactory.decodeResource(getResources(), R.drawable.plusselected); 
    changingY = 0; 
    font = Typeface.createFromAsset(context.getAssets(), "G-Unit"); 

} 


@Override 
protected void onDraw(Canvas canvas) { 
    // TODO Auto-generated method stub 
    super.onDraw(canvas); 
    canvas.drawColor(Color.WHITE); 

    Paint textPaint = new Paint(); 
    textPaint.setARGB(50,254,10,500); 
    textPaint.setTextAlign(Align.CENTER); 
    textPaint.setTextSize(50); 
    textPaint.setTypeface(font); 
    canvas.drawText("mybringback",canvas.getWidth()/2, 200, textPaint); 

로그 캣 -

03-06 12:31:25.395: E/AndroidRuntime(19933): FATAL EXCEPTION: main 
03-06 12:31:25.395: E/AndroidRuntime(19933): java.lang.RuntimeException: Unable to  start activity ComponentInfo{com.example.learn.tam/com.example.learn.tam.GFX}: java.lang.RuntimeException: native typeface cannot be made 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.app.ActivityThread.access$600(ActivityThread.java:140) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.os.Looper.loop(Looper.java:137) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.app.ActivityThread.main(ActivityThread.java:4898) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at java.lang.reflect.Method.invokeNative(Native Method) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at java.lang.reflect.Method.invoke(Method.java:511) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at dalvik.system.NativeStart.main(Native Method) 
03-06 12:31:25.395: E/AndroidRuntime(19933): Caused by: java.lang.RuntimeException: native typeface cannot be made 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.graphics.Typeface.<init>(Typeface.java:247) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.graphics.Typeface.createFromAsset(Typeface.java:221) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at com.example.learn.tam.MyBringBack.<init>(MyBringBack.java:25) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at com.example.learn.tam.GFX.onCreate(GFX.java:14) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.app.Activity.performCreate(Activity.java:5206) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083) 
03-06 12:31:25.395: E/AndroidRuntime(19933): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064) 
03-06 12:31:25.395: E/AndroidRuntime(19933): ... 11 more 

답변

2

사용

font = Typeface.createFromAsset(context.getAssets(), "G-Unit.ttf"); 

대신

font = Typeface.createFromAsset(context.getAssets(), "G-Unit"); 

유 OTF, TTF (같은 확장자를 가진 폰트 파일 이름을 전달해야합니다 .. .) 두 번째 매개 변수로 Typeface.createFromAsset 방법

+0

고맙습니다. 내 문제가 수정되었습니다. – TAM

0

(createFromAsset)은 사용자 정의 글꼴의 확장자 이름을 사용합니다.

관련 문제