0
public class HomeFragment extends Fragment { 

    public HomeFragment(){} 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_home, container, false); 
     Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "font/Montserrat-Bold.ttf"); 
     TextView txt = (TextView) rootView.findViewById(R.id.tv); 
     txt.setTypeface(font); 

     return rootView; 
    } 
} 

Ich habe dies auf meinem Fragment initialisieren ein Schriftbild, aber ich bekomme diesen Fehler auf meinem Log.Benutzerdefinierte Schriftart funktioniert nicht auf Android Fragment

05-20 19:54:25.464 15739-15739/com.braudy.android.mesasixprofiler E/AndroidRuntime: FATAL EXCEPTION: main Process: com.braudy.android.mesasixprofiler, PID: 15739 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.braudy.android.mesasixprofiler/com.braudy.android.mesasixprofiler.MainActivity}: java.lang.RuntimeException: Font asset not found font/Montserrat-Bold.ttf 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5417) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Caused by: java.lang.RuntimeException: Font asset not found font/Montserrat-Bold.ttf 
at android.graphics.Typeface.createFromAsset(Typeface.java:190) 
at com.braudy.android.mesasixprofiler.HomeFragment.onCreateView(HomeFragment.java:26) 
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) 
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742) 
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) 
at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:339) 
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:601) 
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1237) 
at android.app.Activity.performStart(Activity.java:6253) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
at android.app.ActivityThread.-wrap11(ActivityThread.java)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:148)  
at android.app.ActivityThread.main(ActivityThread.java:5417)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  

Ich erhalte eine "Font Asset nicht font/Montserrat-Bold.ttf gefunden" -Fehler.

Ich habe auch die Dateien in ihren richtigen Ordnern eingerichtet. Und versuchte Wiederaufbau und sauberes Projekt nichts funktioniert. enter image description here

+0

ok siehe [Legen Sie eine einfache Textdatei in Android Studio] (http://stackoverflow.com/questions/16821182/load-a-simple-text-file-in-android-studio) Post angenommen Antwort wahrscheinlich helfen –

Antwort

3

ändern Sie Ihren Ordnernamen zu fonts anstelle von font und ändern Sie es in Java-Datei auch.

Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Montserrat-Bold.ttf"); 
+0

Okay, ich werde das versuchen und Sie benachrichtigen – Braudy

+0

sam e Fehler .. java.lang.RuntimeException: Aktivität konnte nicht gestartet werden ComponentInfo {com.braudy.android.mesasixprofiler/com.braudy.android.mesasixprofiler.MainActivity}: java.lang.RuntimeException: Schriftartenasset nicht gefundene Schriftarten/Montserrat -Bold.ttf – Braudy

+0

Dies ist, was ich von der Änderung Schriftart in Schriftarten – Braudy

0
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.fragment_home, container, false); 

    Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/customfont.ttf"); 
    TextView txt = (TextView) rootView.findViewById(R.id.tv); 
    txt.setTypeface(font); 

    return rootView; 
} 

und das Verzeichnis

enter image description here

0

ändern Montserrat-Bold.ttf zu montserrat-Bold.ttf

Verwandte Themen