Проблема в том, как интегрировать шрифт для приложения Android - PullRequest
0 голосов
/ 29 августа 2011

Я хочу установить шрифт для своего приложения. Шрифт похож на «ЖУРНАЛ». Но проблема в том, что я не знаю, как интегрировать это в мое приложение. и если я интегрирую его, то будет ли это для всего приложения или только для выбранного приложения? потому что я хочу, чтобы он был установлен только для одного приложения. не для всех. Итак, что я должен сделать? Я видел здесь . но я думаю, что это только для TextView, а не для всего шрифта приложения. Итак, что я должен сделать в файле манифеста ??? или что еще я должен сделать ?? Пожалуйста, помогите мне в этом.

Ответы [ 2 ]

2 голосов
/ 29 августа 2011

Я согласен с заявлением @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 голос
/ 29 августа 2011

Вы не можете изменять шрифты всей системы из приложения (по крайней мере, насколько я знаю, за исключением некоторого эксплойта).

Изучите эту ссылку: http://mobile.tutsplus.com/tutorials/android/customize-android-fonts/

...