当我更改区域设置时,整个主题都会更改

时间:2013-04-09 13:00:12

标签: android android-layout

这太奇怪了。

最好的方法是给你看一张图片:

enter image description here

我没有设置任何主题或类似内容,因此应该使用默认主题......

有什么想法吗?

编辑:这是同一个设备!! 一个Android 4.2模拟器。

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="es.triiui.myapp.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="es.triiui.myapp.Activity_EditDetails"
        android:label="@string/title_activity_activity__edit_details" >
    </activity>
    <activity
        android:name="es.triiui.myapp.AddNewEntry"
        android:label="@string/title_activity_add_new_entry" >
    </activity>
    <activity
        android:name="es.triiui.myapp.ShowDetails"
        android:label="@string/title_activity_show_details" >
    </activity>
    <activity
        android:name="es.triiui.myapp.Setpassword"
        android:label="@string/title_activity_setpassword" >
    </activity>
</application>

(values / styles.xml)是:

<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>

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

(values-ca / styles.xml)是:

<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

</resources>

两者完全相同。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

  

我没有设置任何主题或类似的东西,所以默认的主题   应该用...

来自android:theme的文档:

  

如果未设置此属性,则活动将继承为其设置的主题   整个应用程序 - 来自<application>元素的主题   属性。如果还未设置该属性,则为默认系统主题   使用

因此,由于您没有指定主题,因此它将使用devicedefault主题,因此左侧设备使用holo主题,右侧使用pre HC主题。

答案 1 :(得分:1)

您发布的那些XML资源是错误的。

一般情况下,主题会进入themes.xml(但这并不重要,因为它们只是一种风格)但更重要的是,您没有结束</resources>标记(复制/粘贴)错误?),还没有命名空间定义(xlmns上的<resources>属性)。

这两个都应该触发AAPT错误(缺少关闭标记,命名空间,我不确定 - 它肯定会触发Android Lint错误!)。

尝试删除values-ca/styles.xml文件。它将默认为values/styles.xml,您不应该看到任何视觉变化。