将min SDK从4.1更改为2.2 - style.xml(资源)

时间:2013-02-13 10:15:13

标签: android styles android-manifest android-2.2-froyo

我想将min SDK从4.1更改为2.2 android。所以我已将属性“Project Build Target”更改为2.2版本,修复了一些问题(例如adView.setY(); - 生成错误),现在我遇到了style.xml的问题。在更改sdk之前和之后我没有在style.xml中更改任何内容,但现在我有这样的错误:

error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light.DarkActionBar'.    styles.xml  /SquaresUpdate/res/values-v14   line 3  Android AAPT Problem

在两个文件styles.xml(values-v11和values-v14)中。 Styles.xml:

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

清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mypackage"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".gui.MainActivity"
            android:label="@string/title_activity_main"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
        <activity
            android:name=".GameActivity"
            android:label="@string/title_activity_game"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
        </activity>
        <activity
            android:name=".gui.SettingsActivity"
            android:label="@string/title_activity_settings"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
        </activity>        
        <activity
            android:name=".gui.TheBestScoreActivity"
            android:label="@string/title_activity_the_best_score"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
        </activity>
        <activity
            android:name=".gui.AboutActivity"
            android:label="@string/title_activity_about"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
        </activity>
    </application>

</manifest>

在更改为2.2 sdk版本之前,应用程序很好。

3 个答案:

答案 0 :(得分:1)

在3.0之前,Android根本没有holo主题

当低于3.0时,您将不得不使用另一个标准主题或向后移植这些样式。 一个很好的库是HoloEverywhere。 如果你真的想要使用它,请给它一个好的想法 - 使用属于Android版本的风格和使用该应用程序的设备没有任何问题。

答案 1 :(得分:1)

你没有接受答案。只是觉得它可能对其他人有帮助:

您可以为两个文件夹(values-v11和values-v14)更改style.xml,如下所示。

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

在menu.xml中删除属性android:showAsAction="never" 它也适用于较低的Android版本。

答案 2 :(得分:0)

大约Android 2.2不支持您的应用程序要求。我想,您可能会使用一些新的控件和组件。例如,我在我的应用程序中使用Web服务,它适用于2.2,但它不适用于4.0或更高版本。因为android 4.0或更高版本需要在此过程中使用asynctask。这样的事情。您应该检查哪些功能可以在android开发者网站上使用哪个版本。

否则,清理项目并重新启动IDE。我希望这可以解决你的问题。