2011-03-27 121 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来解决。