2012-03-26 152 views
1

我想为看起来像对话框的活动创建自定义样式。但是我想把这个对话框放在屏幕的右上角,同时设置背景为透明。Android覆盖默认对话框主题

我已将活动主题设置为@android:style/Theme.Dialog,但现在我想覆盖现有主题,但是我没有在我的sdk文件夹中找到此主题。

有人能告诉我如何更改默认的对话框主题?

回答

11

您可以定义样式来自定义任何视图。

例如:

<style name="Theme.Dialog"> 
    <item name="android:windowFrame">@null</item> 
    <item name="android:windowTitleStyle">@android:style/DialogWindowTitle</item> 
    <item name="android:windowBackground">@android:drawable/transparent</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> 
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> 
</style> 
+0

大。你的回复。你怎么知道什么属性有对话框对象?以及什么类型的动画等 – Allrast 2012-03-26 15:02:30

+2

@Allrast:要知道所有可用的选项,你可以检查出android源代码,并在[styles.xml]中查找(https://github.com/android/platform_frameworks_base/blob/master/ core/res/res/values/styles.xml)和[themes.xml](https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/themes.xml)。在这种情况下,对于对话框,checkout themes.xml - > Theme.Dialog。里面定义的所有属性通常都是你可以改变的。 – 2013-04-22 03:45:07