我有一个没有任何主题的应用程序。 我想只在对话框上保留默认的android主题。
为此,我创建了一个自定义对话框(MyDialog说)。在构造函数中,我放了:
public MyDialog() {
if (getAndroidVersion() >= Build.VERSION_CODES.HONEYCOMB)
setStyle(DialogFragment.STYLE_NORMAL,
android.R.style.Theme_Holo_Dialog_NoActionBar);
}
但是当对话框出现时,它没有任何主题。事实上,在Android 4.2上进行测试时,对话框会显示旧的Android主题。
如何显示当前版本的对话框?
答案 0 :(得分:1)
尝试使用AlertDialog.Builder类来构建对话框。使用AlertDialog.Builder(Context context, int theme)
设置对话框主题。
答案 1 :(得分:0)
另一种解决方案是为创建的style
Dialog
Dialog dialog = new Dialog(mContext, R.style.Theme_Dialog);
然后,在styles.xml
中定义您的主题,该主题位于值文件夹中:
<style name="Theme_Dialog" parent="@android:style/Theme"> <!-- or whatever Theme you want -->
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
和您的情况(默认应用主题),只需转到AndroidManifest.xml
(应用标签),然后在下查找主题 ApplicationAttributes ,它将是 system_theme 或来自 project-resources 的主题,如果是,请知道它的名称,您会发现它存储在{{ 1}}该名称下的文件。