0

从服务中,无论前台有什么应用程序,我都试图展示敬酒。为此,我使用了一个主题为的活动Theme.Dialog

以下是我在清单中声明的​​方式:

    <activity android:process="@string/process" 
              android:name="com.android.blesettings.findmeserver.LaunchPopup" 
              android:configChanges="orientation|screenSize"
              android:theme="@android:style/Theme.Dialog" >
    </activity>

除主题外,一切正常。尽管我在 ICS 中运行应用程序,但弹出窗口的主题是 Gingerbread(不确定为什么会发生!)。我该如何解决这个问题,这样弹出的主题是 ICS 而不是 Gingerbread

任何帮助表示赞赏

弹出显示姜饼主题

4

1 回答 1

5

您应该使用Holo主题来匹配ICS样式,如下所示:Theme.Holo.Dialog而不是Theme.dialog

但较旧的 API 不支持 Holo 主题。因此,为了让您的应用程序与旧版本兼容,您应该在文件夹styles.xml下定义文件values-v14(v14 = ICS)

值-v14/styles.xml :

<style name="DialogTheme" parent="@android:style/Theme.Holo.Dialog">
    <item name="android:windowNoTitle">true</item>      
</style>

值/样式.xml:

<style name="DialogTheme" parent="@android:style/Theme.Dialog">
    <item name="android:windowNoTitle">true</item>      
</style>

然后,将您的活动定义更改为:

<activity android:process="@string/process" 
          android:name="com.android.blesettings.findmeserver.LaunchPopup" 
          android:configChanges="orientation|screenSize"
          android:theme="@style/DialogTheme" >
</activity>
于 2012-09-19T13:16:44.960 回答