2013-04-18 32 views
0

我尝试了很多方法,但是我无法从xml更改AlertDialog风格。如何在我的自定义主题中设置对话框样式?

结果我想是定义XML风格延伸和覆盖缺省对话框,然后在我的主题结合,所以所有的alertDialogs会看起来是一样的。

我想:

<style name="AppTheme" parent="AppBaseTheme"> 
    <!-- All customizations that are NOT specific to a particular API-level can go here. --> 
    <item name="android:alertDialogStyle">@style/pippo</item> 
</style> 
<style name="pippo" parent="@android:style/Theme.Dialog"> 
    <item name="android:bottomBright">@android:color/holo_orange_dark</item> 
    <item name="android:bottomDark">@android:color/holo_orange_dark</item> 
    <item name="android:bottomMedium">@android:color/holo_orange_dark</item> 
    <item name="android:centerBright">@android:color/holo_orange_dark</item> 
    <item name="android:centerDark">@android:color/holo_orange_dark</item> 
    <item name="android:centerMedium">@android:color/holo_orange_dark</item> 
    <item name="android:fullBright">@android:color/holo_orange_dark</item> 
    <item name="android:fullDark">@android:color/holo_orange_dark</item> 
    <item name="android:topBright">@android:color/holo_blue_dark</item> 
    <item name="android:topDark">@android:color/holo_blue_dark</item> 
</style> 

,然后我把清单“AppTheme”为活动主题,但我仍然看到正常alertdialogs。

我哪里做错了?

+0

发布您的代码,你在你的AlertDialog添加这种风格。 –

+0

我不添加java的样式,我想通过覆盖默认样式来设置对话框样式。 – gdantimi

回答

0

你可以尝试这样的事情来应用所需的样式:

AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style. pippo)); 
+1

是的,但它不是我想要的。我只能用xml来实现这个结果。 – gdantimi

+0

我不这样做是可能的。 但是,您可以创建一个扩展AlertDialog的自定义对话框类,并在构造器上应用样式。然后,调用你的CustomDialog而不是AlertDialog。 –

相关问题