web-dev-qa-db-fra.com

Android DialogFragment title non affiché

Lors de la création d'un DialogFragment personnalisé, j'ai défini le titre à l'aide des éléments suivants:

@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;
}

Le code ci-dessus fonctionne bien pour moi au niveau de l'API plus ancien que 23. Pour l'API 23, le titre ne s'affiche pas du tout.

Une idée pourquoi? et comment faire apparaître le titre sur l'API 23?

39
TareK Khoury

Résolu en ajoutant ce qui suit au 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>
57
TareK Khoury

Dans vos styles:

<style name="CustomDialog" parent="@style/Theme.AppCompat.Light.Dialog">
    <item name="Android:windowNoTitle">false</item>
</style>

Si votre dialogue est un fragment:

MyFragment myFragment = new MyFragment();
myFragment.setStyle(DialogFragment.STYLE_NORMAL, R.style.CustomDialog);
44
Hpsaturn