2011-03-27 113 views

回答

6

這個答案是不正確

使用Theme.Dialog.Alert

themes.xml

<!-- Default theme for alert dialog windows, which is used by the 
     {@link android.app.AlertDialog} class. This is basically a dialog 
     but sets the background to empty so it can do two-tone backgrounds. --> 
<style name="Theme.Dialog.Alert" parent="@android:style/Theme.Dialog"> 
    <item name="windowBackground">@android:color/transparent</item> 
    <item name="windowTitleStyle">@android:style/DialogWindowTitle</item> 
    <item name="windowIsFloating">true</item> 
    <item name="windowContentOverlay">@null</item> 
</style> 

這然後可以在XML佈局或Android清單中應用,如referenced here

<activity android:theme="@android:style/Theme.Dialog.Alert"> 

或轉換成使用setTheme(int)的活動。但是,這似乎不是一個推薦的做法。簡單示例代碼顯示在此bug report

+1

謝謝,@Karl。我如何將它應用到我自己的對話框中? – 2011-03-28 06:09:20

+0

這取決於您如何定義對話框 - 無論是通過XML還是編程方式。主題的程序化應用似乎不被推薦。我已經稍微更新了我的答案。另請參閱此鏈接:http://www.anddev.org/applying_a_theme_to_your_application-t817.html – 2011-03-28 08:01:22

+0

好的,謝謝。這是在xml中定義的,所以我將在那裏添加主題。 – 2011-03-28 11:58:43

0

我也遇到過這個問題,想創建一個與AlertDialog具有相同UI的Activity。我發現這有點困難。最後,我創建了一個透明的活動,並在其中啓動了一個AlertDialog來解決。