如何以编程方式将主题设置为Android对话框框?

4

我正在开发一个应用程序,其中有分享和评分选项。当我点击这些选项时,我会触发一个 Intent,它处理后续步骤。我想要的是这些 Intent 打开的对话框具有一些设备默认主题,以便不同设备的对话框外观不同。此外,我有一个用于设置的对话框。如何将设备默认主题设置为我通过编程创建的自定义对话框?

2个回答

8

在style.xml中创建一个主题,然后可以将主题传递给对话框的构造函数,如下所示:

Dialog d = new Dialog(getApplicationContext(), R.style.TransparentTheme);

这里TransparentTheme是我在style.xml中定义的主题名称。


嗨,谢谢回复,但我不想在任何地方定义主题,只想使用设备默认主题。 - user3686864
如果您没有为自定义对话框传递任何主题,它将采用设备的默认主题。 - AndyN

1
在style.xml中定义这个主题,并通过编程方式设置。
<style name="DialogTheme" parent="android:Theme.Dialog">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">fill_parent</item>

        <!-- No backgrounds, titles or window float -->
        <item name="android:windowNoTitle">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowIsFloating">false</item>
 </style>

我希望这会有所帮助。谢谢!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接