font-utils

A library to help with custom fonts and text sizes

Лицензия

Лицензия

Группа

Группа

com.guardanis
Идентификатор

Идентификатор

font-utils
Последняя версия

Последняя версия

1.0.4
Дата

Дата

Тип

Тип

aar
Описание

Описание

font-utils
A library to help with custom fonts and text sizes
Ссылка на сайт

Ссылка на сайт

https://github.com/mattsilber/font-utils
Система контроля версий

Система контроля версий

https://github.com/mattsilber/font-utils.git

Скачать font-utils

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.guardanis/font-utils/ -->
<dependency>
    <groupId>com.guardanis</groupId>
    <artifactId>font-utils</artifactId>
    <version>1.0.4</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/com.guardanis/font-utils/
implementation 'com.guardanis:font-utils:1.0.4'
// https://jarcasting.com/artifacts/com.guardanis/font-utils/
implementation ("com.guardanis:font-utils:1.0.4")
'com.guardanis:font-utils:aar:1.0.4'
<dependency org="com.guardanis" name="font-utils" rev="1.0.4">
  <artifact name="font-utils" type="aar" />
</dependency>
@Grapes(
@Grab(group='com.guardanis', module='font-utils', version='1.0.4')
)
libraryDependencies += "com.guardanis" % "font-utils" % "1.0.4"
[com.guardanis/font-utils "1.0.4"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

Данный проект не имеет модулей.

font-utils

Download Android Arsenal

The goal of this library is to allow your app to support multiple FontFamilies (e.g. lato, roboto, etc.) with their own styles (e.g. normal, bold, italic) in an easily-configurable way.

Installation

repositories {
    mavenCentral()
}

dependencies {
    compile('com.guardanis:font-utils:1.0.4')
}

Usage

First, make sure your fonts are located in your assets folder (in a /fonts/ subdirectory to be organized). Let's assume you have a roboto normal/bold font called robo.ttf and robo_bold.ttf, respectively. Now you need to override the R.array.fu__font_family_resources string-array resource to include your fonts:

<string-array name="fu__font_family_resources">
    <item>roboto--normal=fonts/robo.ttf,bold=fonts/robo_bold.ttf</item>
</string-array>

The format here is:

<item>FONT_FAMILY_NAME--STYLE_1=FONT1_PATH,STYLE_2=FONT2_PATH</item>

With the supported styles being

  • NORMAL
  • BOLD
  • ITALICS
  • BOLD_ITALICS

Values in the resources are not case-sensitive, and their comparing integers are static in the Typeface class (e.g. Typeface.BOLD or Typeface.ITALICS).

You can also use additional custom typeface style variants by assigning them an integer value, instead of using one of the accepted Typeface values:

<string-array name="fu__font_family_resources">
    <item>roboto--normal=fonts/robo.ttf,123456=fonts/robo_bold.ttf</item>
</string-array>

Now, we need to ensure we have a default FontFamily correctly set by overring R.string.fu__default_font_family:

<string name="fu__default_font_family">roboto</string>

Next, we have 3 choices for how to use this font. We can either

Use the already-overridden classes for you
<com.guardanis.fontutils.TextView 
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:textFontFamily="roboto"
    android:textStyle="bold" />

These convenience helper classes include

  • com.guardanis.fontutils.TextView
  • com.guardanis.fontutils.Button
  • com.guardanis.fontutils.EditText

Check them out if you want to implement them for other types of TextViews.

Use the FontUtils attribute in your own custom classes so they support your fonts by default

Call the following from your custom TextView (or TextView subclass)'s constructor.

FontUtils.getInstance(getContext())
    .load(this, attrs, defStyle);
Manually call one of the FontUntils' helper methods to set the font programmatically
TextView view = (TextView) findViewById(R.id.some_id);
FontUtils.getInstance(getContext())
    .setTypeface(view, fontFamily, style);

Notes

  • A NORMAL font is required for a typeface to be loaded. If the FontFamily is loaded without a normal font, it will throw a RuntimeException letting you know what went wrong.
  • Trying to load any non-normal font style that doesn't exist will default to the normal style.

Moved to MavenCentral

As of version 1.0.4, font-utils will be hosted on MavenCentral. Versions 1.0.3 and below will remain on JCenter.

Версии библиотеки

Версия
1.0.4