Android设置默认设备主题

时间:2013-04-10 21:21:56

标签: android android-layout

我有一个可以从2.2到4.x设备运行的应用程序。

当我在4.x上运行这个应用程序时,它看起来很酷,全息风格。但是当我在较旧的设备上运行它时,它似乎是那么“轻盈”。

有截图,您可以比较: enter image description here

这是我的清单:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

我的风格:

<resources>

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar.Fullscreen">

</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

很明显2.3中不存在holo,但它应该呈现其默认设备主题,对吗?

因此输入正确,但TextView看起来太灰。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

正如有人建议的那样,我终于创建了一个新文件夹: res/values-v11/ 在这个文件夹中,我放了一个名为styles.xml的文件,其中包含以下内容:

<resources>

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar.Fullscreen">

</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

将为api低于11的android调用的文件夹res/values/包含一个styles.xml,我在那里更改了父模板,如下所示:

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="MyTheme" parent="@android:style/Theme.Light">

</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

这样就结束了:

  • api高于11的设备 - >全息主题
  • 其余:Theme.Light(“普通主题”)