Как лучше всего поддерживать планшеты Android 2.x в моем приложении? - PullRequest
3 голосов
/ 03 октября 2011

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

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

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

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

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

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

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

Приветствия

1 Ответ

3 голосов
/ 03 октября 2011

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

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

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

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

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

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

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

Это мудро?

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

...