TareK Khoury
TareK Khoury

Reputation: 13021

Android DialogFragment title not showing

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

Answers (3)

NevrGivApp
NevrGivApp

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

Hpsaturn
Hpsaturn

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

TareK Khoury
TareK Khoury

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

Related Questions