Ответ 1
Решено, добавив следующее в styles.xml:
<item name="android:dialogTheme">@style/CustomDialog</item>
<style name="CustomDialog" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">false</item>
</style>
При создании пользовательского диалога DialogFragment я устанавливаю заголовок, используя следующее:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_dialog_add, container, false);
// Setting title here
getDialog().setTitle("Add New");
return v;
}
Приведенный выше код отлично работает для меня на уровне API старше 23. Для API 23 заголовок не отображается вообще.
Любая идея, почему? и как сделать представление названия на API 23?
Решено, добавив следующее в styles.xml:
<item name="android:dialogTheme">@style/CustomDialog</item>
<style name="CustomDialog" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">false</item>
</style>
В ваших стилях:
<style name="CustomDialog" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">false</item>
</style>
Если ваш диалог является фрагментом:
MyFragment myFragment = new MyFragment();
myFragment.setStyle(DialogFragment.STYLE_NORMAL, R.style.CustomDialog);