3

我使用“ @android:style/Theme.Holo ”作为我的游戏主题:

在此处输入图像描述

但是为了能够设置一个小吃吧小部件,我别无选择,只能使用“ @style/Theme.AppCompat ”,否则我会收到以下错误消息:

You need to use a Theme.AppCompat theme (or descendant) with the design library

问题是“ @style/Theme.AppCompat ”在视觉上完全不同:

在此处输入图像描述

我能做些什么来保持与“ @android:style/Theme.Holo ”相同的视觉效果,但同时能够使用小吃吧小部件?

编辑使用 Yoann Hercouet 的解决方案,结果如下:

在此处输入图像描述

什么不见​​了?

4

2 回答 2

8

我终于找到了解决方案:

AndroidManifest.xml

<application
    android:theme="@style/Theme.AppCompat"
    ...

MyDialog.java

new AlertDialog.Builder(new ContextThemeWrapper(context, android.R.style.Theme_Holo_Dialog));

代替 :

new AlertDialog.Builder(context);
于 2016-04-25T14:06:45.930 回答
1

尝试通过更改对话框的默认样式来更新您的应用主题:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    ...
    <item name="alertDialogTheme">@android:style/Theme.Holo.Dialog</item>
</style>

编辑

不知道为什么它没有改变任何东西,它适用于我的应用程序,也许可以尝试其他方式并创建自定义样式:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    ...
    <item name="alertDialogTheme">@style/myAlertDialogStyle</item>
</style>

<style name="myAlertDialogStyle" parent="android:style/Theme.Holo.Dialog">
    ...
</style>
于 2016-04-25T10:50:47.337 回答