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?
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>
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);