2013-04-18 48 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。 –

相關問題