创建自定义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;
}
上面的代码在23岁以上的API级别上运行正常。对于API 23,标题根本没有显示。
知道为什么吗?以及如何在API 23上显示标题?
答案 0 :(得分:57)
通过将以下内容添加到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>
答案 1 :(得分:43)
在你的风格中:
<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);
答案 2 :(得分:0)
我使用.setMessage
而不是.setTitle
解决了。我知道外观不一样,但就我而言,我只需要给用户一个提示。