我想为我的应用程序设置字体。字体就像“JOURNAL”。 但问题是,我不知道如何将其集成到myapplication中。如果我整合它,那么它将适用于所有应用程序还是仅适用于所选应用程序?因为我希望它只为一个应用程序设置。不是所有人。 那么我应该怎么做? 我见过here。但我认为它仅适用于TextView而不适用于整个应用程序字体。 那么,我在清单文件中有什么需要做的吗???或者我还有什么需要做的? 请帮帮我。
答案 0 :(得分:2)
我同意@Kheldar声明。没有方法可以更改Android应用中的字体。每次要更改元素的字体时,请尝试使用此代码以避免调用set方法。
public class MyTextView extends TextView {
Context context;
String ttfName;
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
for (int i = 0; i < attrs.getAttributeCount(); i++) {
this.ttfName = attrs.getAttributeValue("http://schemas.android.com/apk/res/com.package.my", "ttf_name");
init();
}
}
private void init() {
Typeface font = Typeface.createFromAsset(context.getAssets(), ttfName);
setTypeface(font);
}
@Override
public void setTypeface(Typeface tf) {
super.setTypeface(tf);
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:package="http://schemas.android.com/apk/res/com.package.my"
android:id="@+id/container"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/icon"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp" />
<com.package.my.MyTextView
android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_toRightOf="@+id/icon"
package:ttf_name="My-font.otf" />
</RelativeLayout>
答案 1 :(得分:1)
您无法从应用程序修改系统范围内的字体(至少,据我所知并禁止某些漏洞利用)。
研究此链接:http://mobile.tutsplus.com/tutorials/android/customize-android-fonts/