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

0
Shreyash Mahajan 29 Авг 2011 в 17:23

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>
2
nahwarang 29 Авг 2011 в 13:36

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

Изучите эту ссылку: http://mobile.tutsplus.com/tutorials/android/ настроить-android-fonts /

1
Kheldar 29 Авг 2011 в 13:28