我想在我的应用程序使用外部字体。 我曾尝试添加新fonts
使用AssetManager
,但没有奏效。 下面是我的代码:
Typeface face;
face = Typeface.createFromAsset(getAssets(), "font.otf");
textview.setTypeface(face);
但它不显示文本...
请帮我解决一下这个。
我想在我的应用程序使用外部字体。 我曾尝试添加新fonts
使用AssetManager
,但没有奏效。 下面是我的代码:
Typeface face;
face = Typeface.createFromAsset(getAssets(), "font.otf");
textview.setTypeface(face);
但它不显示文本...
请帮我解决一下这个。
据我所知,Android不支持OpenType字体。 使用TrueType字体代替。
更新:显然,OpenType字体现在支持,至少在某种程度上。 这不是最初支持,所以你会希望在任何的Android版本的应用程序将支持全面测试您的字体。
为了方便地访问我们的字体,我们需要用我们的方式,我们的代码可以随后加载应用程序捆绑它。 要做到这一点,我们在创造我们的资产直接一个Fonts文件夹
这可能是你的.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/DefaultFontText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="Here is some text." />
<TextView
android:id="@+id/CustomFontText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="Here is some text.">
</TextView>
写下面的代码在你的.java类
Typeface tf = Typeface.createFromAsset(getAssets(),
"fonts/BPreplay.otf");
TextView tv = (TextView) findViewById(R.id.CustomFontText);
tv.setTypeface(tf);
Android提供支持OTF(我不是从SDK版本肯定,但它肯定与1.6的作品),我用了一段时间打字机OTF字体,但渲染远不准确与TTF版本我最终使用(通过在线字体转换器)。 基线是所有的地方(有些信件是比别人整整2个像素以上),并在LDPI手机一样的HTC野火的问题是由于大像素极大地增强。
我有同样的问题。 我的字体不是在Android平台要么但我需要它的工作。 使用字体编辑器,我复制从我的字体字符成带有从Android的SRC-2_1 FontSampler例如字体。 它完美地工作。
虽然我承认,我的方法是从一个角度知识产权点怀疑,我其实没有拉闸使用原来的字体,因为所有的字符被替换,并到老字号,其中更换以及所有引用。 我曾试图“看”的两种字体被定义的方式,但让所有的字体变量的比赛也不能工作。 因此,在斯内德,我用原来的字体的骨架作为新字体的模板。
Android支持两种OTF和TTF格式,我经历了他们两个。
tv3 = (TextView)findViewById(R.id.tv1);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/TRAJANPRO-BOLD.OTF");
tv3.setTypeface(typeFace);
这是我用英语和当地语言步骤
使用Fontinator它支持展台OTF和TTF字体
这是一个Android库可以很容易,使用自定义的字体。
https://github.com/svendvd/Fontinator