Skip to content

Latest commit

 

History

History
20 lines (12 loc) · 959 Bytes

README.md

File metadata and controls

20 lines (12 loc) · 959 Bytes

LayoutInflater

Maven Central

Adding custom attributes for views usually requires extending View classes. It is highly invasive and hard to extend.

To solve the problem, this library provides LayoutInflaterFactory class. It implements android.view.LayoutInflater.Factory2 interface which is called when views are created. So that we can get in touch with attributes from XML and do our works.

Usage

Call getLayoutInflater().setFactory2(new LayoutInflaterFactory()) in Activity#onCreate. If you are using AppCompat, use the constructor LayoutInflaterFactory(AppCompatDelegate).

Extend this class or use LayoutInflaterFactory#addOnViewCreatedListener to add your works.

Example of using Insets library:

getLayoutInflater().factory2 = new LayoutInflaterFactory(getDelegate())
    .addOnViewCreatedListener(WindowInsetsHelper.LISTENER);