Подтвердить что ты не робот

Где я должен помещать файл шрифта в ресурсы Android?

Где в папке res я должен поместить файл шрифта (TTF)?

4b9b3361

Ответ 1

Вы можете создать шрифт в папке с активами (например, в файле /fonts/roboto.ttf).

Затем создайте соответствующий класс для вашего TextView:

// RobotoFont class
package com.my.font;
public class RobotoFont  extends TextView {
    public RobotoFont(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
    public RobotoFont(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    public RobotoFont(Context context) {
        super(context);
    }
    public void setTypeface(Typeface tf, int style) {
        if (style == Typeface.BOLD) {
            super.setTypeface(Typeface.createFromAsset(getContext().getAssets(),    "fonts/Roboto-Bold.ttf"));
        }
        else if(style == Typeface.ITALIC)
        {
            super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Italic.ttf"));
        }
        else
        {
            super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Regular.ttf"));
        }
    }
}

и, наконец, обновите свой макет:

//main.xml
//replace textview with package name com.my.font.RobotoFont
<com.my.font.RobotoFont
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:paddingBottom="2dip" />

Ответ 2

Использование пользовательского шрифта

Первый шаг - выбрать шрифт, который вы хотите использовать.

Вторые создайте папку "Шрифты" в вашем каталоге ресурсов и скопируйте там свой шрифт.

enter image description here

NB: вы можете поместить свой шрифт всюду в папку asssets, но это так, как я делаю!!

Это для настройки, теперь для кода.

Чтобы получить доступ к своему пользовательскому шрифту, вы должны использовать класс Typeface в Android SDK для создания шрифта, который может использовать Android, а затем установить любые элементы отображения, которые должны соответствующим образом использовать ваш собственный шрифт. Чтобы продемонстрировать, вы можете создать два текстовых представления на главном экране, используя стандартный шрифт Android Sans, а другой - свой собственный шрифт. Макет ниже:

<?xml version="1.0" encoding="utf-8"?>
<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>
</LinearLayout>

Код для загрузки и установки пользовательского шрифта также прямолинейный и показан ниже.

public class Main extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Typeface tf = Typeface.createFromAsset(getAssets(),
                "fonts/BPreplay.otf");
        TextView tv = (TextView) findViewById(R.id.CustomFontText);
        tv.setTypeface(tf);
    }
}

вы можете увидеть результат:

enter image description here

Ответ 4

По состоянию на Android Studio 1.5.1 вы можете:

  • Щелкните правой кнопкой мыши по каталогу app
  • New > Folder (это находится в нижней части списка и легко пропустить) > Assets Folder
  • В большинстве случаев вы можете оставить местоположение папки по умолчанию > Нажмите "Готово"
  • Переместите ваши файлы во вновь созданную папку assets

Ответ 5

Вы можете создать папку fonts в resources и использовать ее непосредственно в xml, так как Android O.
Ознакомьтесь с новым Android O - функция шрифтов.