Android - Как создать FAB программно?
У меня есть приложение с полным пользовательских представлений. Когда я пытаюсь создать FAB программно, он выдает ошибку
Причина: java.lang.IllegalArgumentException: необходимо использовать тему Theme.AppCompat (или ее потомок) с библиотекой дизайна.
Вот мой код
private FloatingActionButton getFAB() {
FloatingActionButton fab = new FloatingActionButton(getContext());
fab.setBackgroundDrawable(ContextCompat.getDrawable(getContext(), R.drawable.ic_add_white_24dp));
return fab;
}
Это тема моего приложения.
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
Пожалуйста, помогите мне.
1 ответ
Исправлено с помощью оболочки темы. Но все же я удивлен использованием ContextThemeWrapper
private FloatingActionButton getFAB() {
Context context = new android.support.v7.internal.view.ContextThemeWrapper(getContext(), R.style.AppTheme);
FloatingActionButton fab = new FloatingActionButton(context);
return fab;
}