sangupandi / fontbinding

A full example of custom fonts in XML using data binding and including font caching.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fontbinding

Easy custom fonts in XML using data binding.

No setup required, no extra Java code, and no custom views.

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:font="@{`alegreya`}"
    />

Drawing

This example includes a simple font cache that automatically loads names from your assets/fonts folder and lazy-loads typefaces. Just drag and drop font files and use them in XML by their normal or lowercase filenames (e.g. "Roboto-Italic" or "roboto-italic" for Roboto-Italic.otf). That's it!

###Data binding Make sure to use the data binding framework to inflate your layout.

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        DataBindingUtil.setContentView(this, R.layout.activity_main);
    }
}

More about data binding: http://developer.android.com/tools/data-binding/guide.html

###Custom naming You can set custom names for your fonts, but you don't have to.

FontCache.getInstance().addFont("alegreya", "Alegreya-Regular.ttf");

##Note: It's not currently possible to define custom attributes in styles using data binding. If you require this, check out Calligraphy by Chris Jenx.

About

A full example of custom fonts in XML using data binding and including font caching.

License:Apache License 2.0


Languages

Language:Java 100.0%