TL; DR
Как создать пользовательский Toolbar
в отдельном widget
модуле Android?
Описание
Я создал widget
модуль, в который я помещаю все пользовательские виджеты, используемые моим приложением, однако он выходит из строя из-за android.view.InflateException
Caused by: android.view.InflateException: Binary XML file line #15:
Binary XML file line #15: Error inflating class com.example.widget.Toolbar
Caused by: android.view.InflateException:
Binary XML file line #15: Error inflating class com.example.widget.Toolbar
Вот Toolbar
class Toolbar : android.support.v7.widget.Toolbar {
private lateinit var title: TextView
constructor(context: Context) : this(context, null)
constructor(context: Context, attrs: AttributeSet?) : this(
context,
attrs,
android.support.v7.appcompat.R.attr.toolbarStyle
)
constructor(
context: Context,
attrs: AttributeSet?,
defStyleAttr: Int
) : super(context, attrs, defStyleAttr) {
init()
}
private fun init() {
val view = LayoutInflater.from(context).inflate(R.layout.toolbar, this, true)
title = view.findViewById(R.id.title)
}
}
и макет XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<TextView
android:id="@+id/text_title"
style="?attr/titleTextAppearance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</android.support.v7.widget.Toolbar>