Android Studio中的自定义字体

Android Studio中的自定义字体,android,fonts,android-typeface,Android,Fonts,Android Typeface,如何在android studio中创建自定义字体? 我正在尝试使用自定义字体,我已经读到我想把字体放在资产/字体中。 我找了很久,但还是没有找到任何有用的东西。 我哪里错了?我真的不知道该怎么办。 我把所有细节写在下面。我试过了,但没有成功。 我使用的是Android Studio,似乎没有资产文件夹。所以我创造了一个。但当我将资产文件夹放入/main/assets时,我的应用程序崩溃。我用这个代码来加载我的字体 我知道。Android Studio 0.5.2中项目的结构: root-mod

如何在android studio中创建自定义字体? 我正在尝试使用自定义字体,我已经读到我想把字体放在资产/字体中。 我找了很久,但还是没有找到任何有用的东西。 我哪里错了?我真的不知道该怎么办。 我把所有细节写在下面。我试过了,但没有成功。 我使用的是Android Studio,似乎没有资产文件夹。所以我创造了一个。但当我将资产文件夹放入/main/assets时,我的应用程序崩溃。我用这个代码来加载我的字体

我知道。Android Studio 0.5.2中项目的结构:

root-module
|--.idea
|--app
|----build
|----src
|------main
|--------assets
|----------fonts/SomeFont.ttc
|----------fonts/AnotherFont.otf
|--------java
|----------source code here
|--------res
|------AndroidManifest.xml
|----build.gradle
更新

my fonte文件目录:E:\AndroidProjects\ReadNews\ReadNews\src\main\assets\fonts\

结束更新

我的代码:

 @Override
     protected void onPreExecute() {
            TextView titleTextView = (TextView) _dialog.findViewById(R.id.title_news_TextView);
            TextView messageTextView = (TextView) _dialog.findViewById(R.id.message_TextView);
            String fontPath = "fonts/Tahoma.ttf";
            Typeface tf = Typeface.createFromAsset(MainActivity.this.getResources().getAssets(), fontPath);
            titleTextView.setTypeface(tf);
            messageTextView.setTypeface(tf);
        }
错误:

06-27 07:40:37.985 4206-4206/com.mmd2009.readnews E/AndroidRuntime﹕ 致命异常:主 进程:com.mmd2009.readnews,PID:4206 java.lang.RuntimeException:无法生成本机字体 在android.graphics.Typeface.(Typeface.java:175) 在android.graphics.Typeface.createFromAsset(Typeface.java:149)上 在com.mmd2009.readnews.MainActivity$ReadNewsAsyncTask.onPreExecute(MainActivity.java:216) 位于android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587) 在android.os.AsyncTask.execute(AsyncTask.java:535) 位于com.mmd2009.readnews.MainActivity$1.onClick(MainActivity.java:70) 在android.view.view.performClick上(view.java:4438) 在android.view.view$PerformClick.run(view.java:18422) 位于android.os.Handler.handleCallback(Handler.java:733) 位于android.os.Handler.dispatchMessage(Handler.java:95) 位于android.os.Looper.loop(Looper.java:136) 位于android.app.ActivityThread.main(ActivityThread.java:5017) 位于java.lang.reflect.Method.Invokenactive(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:515) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 在dalvik.system.NativeStart.main(本机方法)

my ReadNews-ReadNews.iml:

  <facet type="android" name="Android">
      <configuration>
        <option name="SELECTED_BUILD_VARIANT" value="debug" />
        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugJava" />
        <option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
        <option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
      </configuration>
    </facet>

可能是指不存在的字体文件。您的目录列表没有显示代码所指的
字体/Tahoma.ttf


除此之外,可能是因为某些原因,Android根本不喜欢你的字体文件。请尝试其他字体文件。

您的字体路径不正确。您没有
font
文件夹。将字体路径更改为“Tahoma.ttf”,或在资产文件夹中创建文件夹

编辑


这似乎是Android操作系统偶尔出现的一个bug。查看此链接,它似乎已经被寻址

我使用不同的字体文件,但我的应用程序崩溃。我的字体文件是“arial.ttf”@user3763877:您的路径是
font/Tahoma.ttf
。不仅没有
Tahoma.ttf
文件,而且
assets/
中没有
font/
目录。我有一个字体文件夹。上面的结构只是一个例子。我的fonte文件目录:E:\AndroidProjects\ReadNews\ReadNews\src\main\assets\fonts\i有一个字体文件夹。上面的结构只是一个例子。