Задать вопрос
@retr0

Как в Android Studio изменить шрифт стандартной темы на кастомный?

В самой дефолтной теме приложение которая автоматически применяется в Android Studio для каждого нового проекта сверху,под статус баром,отображается панелька синего цвета с названием приложения.Каким образом можно отредактировать шрифт на этой панельке?
  • Вопрос задан
  • 5069 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
abler98
@abler98
Software Engineer
Reflection в помощь:
https://stackoverflow.com/questions/2711858/is-it-...

У класса Typeface определены стандартные шрифты, достаточно переопределить нужные значения и будет Вам счастье.

public class Typeface {

    ...

    /** The default NORMAL typeface object */
    public static final Typeface DEFAULT;
    /**
     * The default BOLD typeface object. Note: this may be not actually be
     * bold, depending on what fonts are installed. Call getStyle() to know
     * for sure.
     */
    public static final Typeface DEFAULT_BOLD;
    /** The NORMAL style of the default sans serif typeface. */
    public static final Typeface SANS_SERIF;
    /** The NORMAL style of the default serif typeface. */
    public static final Typeface SERIF;
    /** The NORMAL style of the default monospace typeface. */
    public static final Typeface MONOSPACE;
    
    ...

}


Можно ещё сделать примерно так:
<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay">
        
        <TextView
            android:id="@+id/toolbar_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        
    </android.support.v7.widget.Toolbar>


Потом в коде установить шрифт:
Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontAssetName);
TextView toolbarTitle = (TextView) findViewById(R.id.toolbar_title);
toolbarTitle.setTypeface(typeface);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
В Android O будет возможность использовать кастомные шрифты.

Релиз 26.0.0 Beta 1 Support Library бекпортит это поведение.

Так что можно поиграть с этим и сделать нормально, без рефлексии.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы