Лучшие практики для таргетинга на широкий спектр устройств и размеров экрана - PullRequest
3 голосов
/ 31 августа 2010

Как вы знаете, сегодня Android - это много версий, много конструкторов, много размеров экрана, ...

Сегодня разработчикам довольно сложно писать программы, предназначенные для большой части устройств.

Что бы разработчик должен знать об этом?

  • подсказок для макетов жидкости.
  • «Стандарты» для разработки на любой версии для Android.
  • ...

Есть еще идеи?

Ответы [ 4 ]

5 голосов
/ 31 августа 2010

Для макетов

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

Одна вещь, которую я нашел очень полезной, которая кажется довольно очевидной,это на самом деле проверить свой макет в эмуляторах разных размеров.Как выглядит ваш макет при расширении до 1024x768 (даже если ни одно устройство не будет иметь такого разрешения)?Как насчет того, когда он супер крошечный и квадратный?Просмотр того, как макет растягивается / сжимается, поможет настроить его так, чтобы он лучше подходил для всех экранов.

layout_weight

В макетах android:layout_weight - мощный, но недостаточно документированный атрибут.Используя его, вы можете создавать макеты, где компоненты имеют размеры в процентах друг к другу.

Например:

<LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <EditText android:layout_weight="80" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <Button android:layout_weight="20"
        android:text="Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content />
</LinearLayout>

В этом макете <EditText/> займет 80% доступной ширины, а <Button/> займет 20% доступной ширины.,Очевидно, это следует использовать осторожно, чтобы все предметы можно было использовать, даже если они маленькие.

<include />

Еще одна полезная практика компоновки заключается в объединении общих битов макета в отдельные файлы и включении их с помощью <include layout="@layout/smaller_section" />.Таким образом, вы можете перемещаться по другим частям макета (скажем, для ландшафта) без необходимости сохранять целые параллельные версии макета.

1 голос
/ 31 августа 2010

Единственные вещи, которые я нашел до сих пор:

  1. Разработка до самой низкой версии SDK, которую вы можете.Я нацеливаюсь на 2.2, но использую только API от 1.6 и до сих пор (touch wood), который хорошо сработал.Вы по-прежнему можете поддерживать такие вещи, как резервное копирование и перенос приложения на SD-карту, благодаря тому, что они управляются манифестом.
  2. Для действительно маленьких экранов вам, вероятно, понадобится отдельная раскладка.Используя эмулятор, я обнаружил, что простое уменьшение размера графики не делает макет пригодным для использования - вам нужно переупорядочить и удалить некоторые элементы.
  3. Иногда вам требуется отдельная раскладка для портрета по сравнению сландшафтный режим - но часто портрет хорошо работает в альбомной ориентации.

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

0 голосов
/ 31 августа 2010

Я согласен с Джонни, используйте мобильную таблицу стилей.Например:

<link rel="stylesheet" href="screen.css" media="screen"/>
<link rel="stylesheet" href="handheld.css" media="handheld"/>

Однако все, что вы делаете в нижней части страницы, позволяет пользователю обмениваться между ними.Например, на многих «мобильных» сайтах внизу есть ссылка для просмотра «полного» сайта.Таким образом, пользователь принимает разумное решение о возможностях своего устройства.

0 голосов
/ 31 августа 2010

Я обычно использую мобильную таблицу стилей, которая включается только при доступе к приложению с мобильного устройства.Эта таблица стилей обычно применяет минимальную ширину (в зависимости от требований пользователя и устройства) и заполняет содержимое до 100% ширины экрана.

Другие предложения:

  • mobile-определенная целевая страница, полностью занятая меню и окном поиска
  • , оцените, какой контент на самом деле важен для мобильного пользователя, и сфокусируйтесь на этом
  • Нет тупиков - даже если поиск возвращает нольрезультаты, чтобы было легко продолжить (новый поиск, предложения страницы)
  • геолокация, если применимо (например,
    карта Google с указанием местоположения магазина
    поблизости)
  • тест на различныеустройств, если это возможно (т. е. собственный браузер Blackberry, как правило,
    испытывает трудности с jquery)
...