Reputation: 13021
When creating a custom DialogFragment, i set the title using the following:
@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;
}
The above code works fine for me on API level older than 23. For API 23 the title is not showing at all.
Any idea why? and how to make the title show on API 23?
Upvotes: 42
Views: 16462
Reputation: 39
I solved using .setMessage
instead of .setTitle
. I know it's not the same appearance but in my case, I just needed a hint for the user.
Upvotes: -1
Reputation: 2742
In your styles:
<style name="CustomDialog" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">false</item>
</style>
If your dialog is a fragment:
MyFragment myFragment = new MyFragment();
myFragment.setStyle(DialogFragment.STYLE_NORMAL, R.style.CustomDialog);
Upvotes: 47
Reputation: 13021
Solved by adding the following to the 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>
Upvotes: 58