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

Как сделать приложения Android 4.0 обратно совместимыми?

Android 4.0 (ICS) имеет множество новых правил пользовательского интерфейса, которые великолепны. Проблема в том, что в будущем я не уверен, как создать приложение для Android 4.0 и убедиться, что приложение выглядит одинаково/похоже на устройствах под управлением Android 2.2 и 2.3.

Существует Android-совместимая библиотека и обратная совместимая панель действий, но я искал более конкретное решение для переноса приложений после ICS на телефоны до ICS.

Я на правильном пути? У кого-нибудь есть мысли?

4b9b3361

Ответ 1

Вот несколько советов.

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


Во-вторых, используйте fragments. Даже если вы не думаете, что у вас есть потребность в фрагментах сейчас, это будущее Android-дизайна, и количество больших андроидов на экране, вероятно, будет расти очень быстро. И хотя они добавляют некоторую дополнительную сложность, я думаю, что они поощряют хороший дизайн, отделяя представление от активности.

Включить использование фрагментов через Пакет поддержки (также известный как библиотека совместимости). Это довольно просто, и я не сталкивался с такими проблемами. Просто убедитесь, что ваш импорт выглядит следующим образом:

import android.**support.v4**.app.Fragment;

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


В-третьих, включите панель действий ICS/HC, используя темы, как описано в документах. Обратите внимание, что это не дает вашему приложению панель действий на платформах с предварительной сотой. Для этого вам нужно либо использовать что-то вроде ActionBarSherlock, либо ActionBarCompat. Оба являются хорошими решениями, но они дополняют сложность вашего приложения. В текущем обновлении пакета поддержки нет панели действий, и это, по-видимому, связано с техническими проблемами, но я подозреваю, что они пытаются решить эти проблемы.

Итак, если вы хотите сохранить это просто, считайте, что для вашего приложения разумно иметь панель действий на ICS и HC, а не на панели действий на более ранних платформах. Фактически, в блоге Android Dev за последние несколько дней была поставлена ​​задача сосредоточиться на управлении меню и элементами действий в этих обстоятельствах.

Кроме того, подумайте, что добавление в ваш приложение панели предварительного предупреждения Honeycomb позже (например, с использованием кода из примера ActionBarCompat) будет не так уж и плохим - гораздо проще, на мой взгляд, затем переработать код для фрагментов позже.

Наконец, обратите внимание, что вам нужно будет использовать недавний SDK, чтобы вы могли ссылаться на такие элементы, как головая тема (для панели действий ICS) и элемент showAsAction="ifRoom", поэтому ваш манифест будет содержать что-то вроде:

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