Подтвердить что ты не робот

Разная тема для разных версий Android SDK

Есть ли способ использовать другую тему в зависимости от версии SDK, на которой установлено приложение?

Причина, по которой я спрашиваю, заключается в том, что я хочу полностью поддержать SDK-версию 8, но для тех пользователей, у которых есть ICS, я хочу быть в состоянии следовать стандартам дизайна для ICS и использовать тему Holo.

Я вижу из Программу различных макетов для разных версий в android, которые могут иметь значения папок-v14, у которых будет theme.xml для переопределения объявления темы, Однако он не будет компилироваться, если я ссылаюсь на Theme.Holo. Я считаю, что это связано с тем, что в моем AndroidManifest.xml

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

Любые указатели будут высоко оценены.

UPDATE: - Итак, вот мои файлы: - AndroidManifest.xml:

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:name=".Refunder"
    android:theme="@style/MainTheme"
    >

RES/значения/themes.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MainTheme" parent="@android:style/Theme.Light.NoTitleBar">
        <item name="android:typeface">normal</item>
        <item name="android:textSize">15sp</item>
    </style>
</resources>

RES/значения-V11/themes.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MainTheme" parent="@android:style/Theme.Holo">
        <item name="android:typeface">normal</item>
        <item name="android:textSize">15sp</item>
    </style>
</resources>

Это соответствует статье, которую я читаю здесь: - http://android-developers.blogspot.com/2012/01/holo-everywhere.html

Когда я это делаю, я получаю ошибку компиляции в Eclipse, говорящей, что: -

error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Theme.Holo'
4b9b3361

Ответ 1

То, что вы делаете (с папкой values-v14), является правильным. Вам просто нужно изменить свой объект сборки, чтобы он мог компилироваться. (щелкните правой кнопкой мыши ваш проект, выберите свойства, выберите Android, выберите Android 14 или выше)

Убедитесь, что вы не используете какие-либо функции больше, чем ваш Android: minSdkVersion, поскольку это приведет к принудительному закрытию, если оно используется в более ранней версии Android.