Как лучше всего поддерживать планшеты Android 2.x в моем приложении?

Я разрабатываю приложение для Android, которое абсолютно необходимо для поддержки устройств Android 2.1+, включая планшеты и телефоны.

Сложность заключается в том, что я хочу обеспечить примерно такой же пользовательский опыт на планшетах Android 2.x, как и на планшетах Honeycomb. Я планирую использовать пакет совместимости, чтобы поддержка фрагментов всегда была доступна, но...

Проблема, с которой я столкнулся на данный момент, заключается в том, что я купил Hannstab для тестирования и обнаружил, что он сообщает приложениям, что у него «большой» экран, несмотря на то, что на самом деле он составляет 10,1 дюйма. Технически это сделало бы его «большим», но, конечно, эта категория не была включена в Android 2.2 (которую он запускает), поэтому он «большой». Первоначально я намеревался просто использовать квалификаторы ресурсов и рассматривать все устройства xlarge как планшеты, а все остальное как телефоны, но теперь я понимаю, что не могу этого сделать.

Было бы так плохо относиться ко всем устройствам с большими и большими экранами как к планшетам? Насколько я понимаю, сюда входят Dell Streaks и другие устройства с экраном от 5 до 7 дюймов.

Есть ли лучшая альтернатива? Я еще не очень хорошо разобрался с фрагментами, поэтому решение на основе фрагментов может быть очевидным для тех, кто это сделал.

Я заметил, что обычно приложения, которые я устанавливаю на свой Hannspad, используют обычный пользовательский интерфейс телефона, за исключением Evernote, который использует особый интерфейс планшета — хотелось бы мне знать, как они это сделали.

Новый квалификатор ресурса «Самая малая ширина», представленный в Android 3.2, решит эту проблему, полностью отказавшись от сегментов общего размера экрана. Предположительно, я мог бы скопировать этот подход, написав код для определения ширины экрана в dp, а затем добавляя соответствующие фрагменты в активность. Это мудро? Я бы предпочел избегать такой работы, если она будет мучительной.

Ваше здоровье


person CNorris    schedule 03.10.2011    source источник
comment
@C Норрис, ваш комментарий должен стать обновлением вашего исходного вопроса (в противном случае он будет пропущен). Вы можете использовать ссылку «Изменить» под вопросом, чтобы отредактировать его.   -  person Eugene Mayevski 'Callback    schedule 03.10.2011


Ответы (1)


Было бы так плохо относиться ко всем устройствам с большими и большими экранами как к планшетам?

Если ваш вопрос действительно звучит так: «Можно ли использовать одни и те же макеты и т. д. для устройств -large и -xlarge», это, безусловно, может сработать. Это определенно то, с чего я бы начал.

Имейте в виду, что именно производители устройств определяют, что такое -large, а что нет. Меня не удивит, что некоторые производители, создающие 5-дюймовые устройства, относят их к категории -normal, потому что они считают, что приложения -normal работают на их устройствах лучше, чем приложения -large.

Я заметил, что обычно приложения, которые я устанавливаю на свой Hannspad, используют обычный пользовательский интерфейс телефона, за исключением Evernote, который использует особый интерфейс планшета — хотелось бы мне знать, как они это сделали.

Вероятно, используя ресурсы -large/-xlarge. Я не знаю, используют ли они фрагменты или нет.

С точки зрения размеров экрана, фрагменты на самом деле предназначены для случаев, когда пользовательский интерфейс -large/-xlarge представляет собой группу пользовательских интерфейсов размером -small/-normal, соединенных вместе, как блоки LEGO(R). В случае с Evernote их пользовательский интерфейс -large/-xlarge не соответствует этому шаблону, поэтому они могли использовать или не использовать фрагменты.

Фрагменты предлагают некоторые другие преимущества для управления памятью и изменения конфигурации (например, поворот экрана), поэтому вы можете рассмотреть возможность использования фрагментов, даже если вы не делите фрагменты между основными группами размеров экрана.

Это мудро?

Если возможно, я бы отложил принятие этого решения до тех пор, пока Ice Cream Sandwich не выйдет, и мы не начнем смотреть, как некоторые из этих вещей будут работать на устройствах с меньшим экраном.

person CommonsWare    schedule 03.10.2011
comment
Спасибо за помощь, я буду использовать фрагменты и относиться к large/xlarge устройствам как к планшетам. Мне не приходило в голову, что производители могут намеренно (неправильно) классифицировать свои 5-7 устройств как normal, но это имеет большой смысл, и, надеюсь, они это сделали. - person CNorris; 04.10.2011