Совместимость приложения Android с 2.2 и 4.0 - PullRequest
3 голосов
/ 06 декабря 2011

Мое приложение закодировано с 2.2 "SdVersion 8", и когда я запускаю его в Ice Cream Sandwich, в правом нижнем углу отображается меню "Contex".

Я хочу использовать новый интерфейс ICS,Если я изменю приложение на API-уровень 14 (Android 4.0), я получу новый интерфейс!(На 4.0 телефон).НО приложение, похоже, вообще не запускается на телефонах со старыми версиями Android, например, 2.2.

Если я изменю minSdkVersion в «API target 14» на 8 .. Я получаю старый интерфейс 2.2 на4,0 устройства.

Итак.Возможно ли для приложения получить интерфейс 2.2 на устройстве 2.2 и интерфейс 4.0 на устройстве 4.0?

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

Невозможно получить интерфейс 4.0 на устройстве 2.2 без ручного импорта всех ресурсов, необходимых из источника Android, в ваше приложение и их правильного применения. Причиной этого являются все ресурсы Android, которые используются для создания темы ICS, уже на телефоне. Когда вы ссылаетесь на что-либо внутри пакета Android, вы фактически ссылаетесь на версию Android, установленную на данном устройстве.

Вот почему, например, когда вы открываете диалоговое окно на устройстве HTC, оно выглядит иначе, чем на устройстве Samsung. Производители устройств обычно настраивают некоторые из этих встроенных ресурсов Android, чтобы придать устройству особый вид, чем все другие Android.

Так что, если вы хотите получить интерфейс ICS на всех устройствах, вы можете перейти на Android SDK, который вы скачали, и посмотреть в "pathToSDK / platform / android-14 / data / res". Я бы не советовал этого, поскольку вы можете не получить все необходимые зависимости, или у вас могут быть некоторые противоречивые стили, которые затрудняют просмотр вещей. Также большинству пользователей удобна тема, которую они привыкли видеть на своем устройстве, и если есть приложение, которое вносит существенные изменения в это, оно может застать пользователя врасплох.

Edit:

Извините за длинный ответ, так как я думаю, что неправильно понял ваш вопрос. Вы можете получить интерфейс 4.0 на интерфейсе 4.0 и 2.2 на 2.2, установив целевой SDK на 4.0, но оставив min SDK на более низком значении. Этот является устаревшим документом, но объяснит, как делать то, что вы ищете.

0 голосов
/ 30 августа 2013

Теперь вы также можете попробовать библиотеку поддержки (appcompat v7 (проект библиотеки), mediarouter v7 (проект библиотеки), gridlayout v7 (проект библиотеки), renderscript v8 (библиотека jar), поддержка фрагментов в обратном направлении v4 (библиотека jar) v13 (библиотека jar)) от Google, выпущенная с API уровня 18. В некоторых случаях она может работать вплоть до 2.1 Eclair.

Существуют учебные пособия по импорту библиотеки с Eclipse.

Iудалось это сделать с помощью плагина Netbeans для Android, добавив его через раздел свойств проекта в разделе библиотек, а затем перейдите к appcompat или другому проекту v7, показанному как проект библиотеки Android.Фляги библиотеки делают

...