我正在尝试设置 DialogFragment 的样式,尽管在 SO、developer.android 和其他地方进行了广泛的研究,但它只是无法正常工作。
我确信我已正确应用所有内容;在我的 DialogFragment onCreateDialog 中,我输入:
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getActivity(), R.style.FibroDialog));
在 values/styles.xml 中,我有:
<style name="FibroDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@drawable/panel_background</item>
</style>
在 values-v14/styles.xml 中,我有:
<style name="FibroDialog" parent="@android:style/Theme.Holo.Dialog">
<item name="android:windowBackground">@drawable/panel_background</item>
</style>
如果我运行它,我会在下图中得到顶行对话框,其中没有任何变化,但我希望窗口使用我的 panel_background 可绘制对象。如果我将 windowBackground 更改为背景,我会在下图中得到对话框的底行,这一切都出错了。
那么我该如何改变这个,让整个对话框都有紫色背景呢?我知道我可以使用 layoutInflator 并在布局中添加背景颜色,但这只是中间部分。
我不知道这是否有任何相关性,但 DialogFragment 是从 SherlockFragment 启动的