在Android的工作室自定义字体 [英] custom font in Android Studio
问题描述
如何创建机器人工作室自定义字体? 我试着去使用自定义的字体,我读过,我想,把资产/字体的字体。 我已经搜索漫长而艰难的,但发现没有什么帮助呢。 我哪里错了?我真的不知道该怎么办。 我写了下面的所有细节。我试过,没有成功。 我使用的是Android的工作室,它似乎并没有像我有一个资产文件夹。所以,我创建了一个。但我的应用程序崩溃时,我把资产目录/主/资产。即时通讯使用这种code加载我的字体。
我知道。结构在Android的工作室0.5.2项目:
根模块
| - 思路
| --app
| ----构建
| ---- SRC
| ------主
| --------资产
| ----------字体/ SomeFont.ttc
| ----------字体/ AnotherFont.otf
| -------- java的
| ----------源$ C $ C在这里
| --------资源
| ------ AndroidManifest.xml中
| ---- build.gradle
更新的
我丰泰文件目录:E:\ AndroidProjects \ ReadNews \ ReadNews的\ src \主\资产\字体\
末更新的
我的code:
@覆盖
在preExecute保护无效(){
TextView的titleTextView =(TextView中)_dialog.findViewById(R.id.title_news_TextView);
TextView的messageTextView =(TextView中)_dialog.findViewById(R.id.message_TextView);
字符串字体路径=字体/ Tahoma.ttf;
字样TF = Typeface.createFromAsset(MainActivity.this.getResources()getAssets(),字体路径。);
titleTextView.setTypeface(TF);
messageTextView.setTypeface(TF);
}
错误:
七月6日至27日: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.on preExecute(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.invokeNative(本机方法) 在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(本机方法)
我ReadNews-ReadNews.iml:
<面型=Android的名称=机器人>
<结构>
<选项名称=SELECTED_BUILD_VARIANT值=调试/>
<选项名称=ASSEMBLE_TASK_NAME值=assembleDebug/>
<选项名称=COMPILE_JAVA_TASK_NAME值=compileDebugJava/>
<选项名称=ASSEMBLE_TEST_TASK_NAME值=assembleDebugTest/>
<选项名称=SOURCE_GEN_TASK_NAME值=generateDebugSources/>
<选项名称=ALLOW_USER_CONFIGURATION值=FALSE/>
<选项名称=MANIFEST_FILE_RELATIVE_PATH值=/ src目录/主/ AndroidManifest.xml中/>
<选项名称=RES_FOLDER_RELATIVE_PATH值=/ src目录/主/ RES/>
<选项名称=RES_FOLDERS_RELATIVE_PATH值=文件:// $ MODULE_DIR $ / src目录/主/ RES/>
<选项名称=ASSETS_FOLDER_RELATIVE_PATH值=/ src目录/主/资产/>
< /结构>
< /面>
您的字体路径不正确。你有没有字体
文件夹。改变您的字体路径,只是Tahoma.ttf
,或创建您的资产文件夹内的文件夹中。
修改
这似乎是与Android操作系统的发生有时一个错误。看看这个链接,似乎它已被解决。 <一href="http://stackoverflow.com/questions/12766930/native-typeface-cannot-be-made-only-for-some-people">"Native字体不能作出&QUOT;只对某些人
How to create custom fonts in android studio ? Im trying to use a custom font, and I've read that I suppose to place the fonts in assets/fonts. I have searched long and hard but found nothing that helped yet. Where I wrong? I really do not know what to do. I wrote all the details below. I've tried and did not succeed. I'm using Android Studio and it doesn't seem like I have a assets folder. So I created one. But my app crashes when I place the assets folder in /main/assets. Im using this code to load my fonts.
I know that . structure for a project in 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
Update
my fonte file dir : E:\AndroidProjects\ReadNews\ReadNews\src\main\assets\fonts\
end Update
my code :
@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);
}
error :
06-27 07:40:37.985 4206-4206/com.mmd2009.readnews E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.mmd2009.readnews, PID: 4206 java.lang.RuntimeException: native typeface cannot be made at android.graphics.Typeface.(Typeface.java:175) at android.graphics.Typeface.createFromAsset(Typeface.java:149) at com.mmd2009.readnews.MainActivity$ReadNewsAsyncTask.onPreExecute(MainActivity.java:216) at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587) at android.os.AsyncTask.execute(AsyncTask.java:535) at com.mmd2009.readnews.MainActivity$1.onClick(MainActivity.java:70) at android.view.View.performClick(View.java:4438) at android.view.View$PerformClick.run(View.java:18422) 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)
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>
Your font path is incorrect. You have no font
folder. Change your font path to just "Tahoma.ttf"
, or create the folder inside of your asset folder.
EDIT
This appears to be a bug that happens with Android OS on occasion. Check out this link, it appears it has been addressed already. "Native typeface cannot be made" only for some people
这篇关于在Android的工作室自定义字体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!