Разрешены ли в виджетах приложений Android (для домашнего экрана) жесты? - PullRequest
8 голосов
/ 30 января 2010

Я заметил, что когда я провожу пальцем слева направо по виджету главного экрана, в симуляторе на AVD Android переключается на левый главный экран.

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

Ответы [ 2 ]

11 голосов
/ 31 января 2010

Извините, я публикую этот ответ как отдельный ответ, потому что он не подходит как комментарий. :)

Так что взаимодействие с виджетами очень ограничено.

Дело в том, что виджеты - это не "мини-приложения", а ... виджеты. Они живут в мире реального приложения, которое их содержит, и зависят от него.

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

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

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

Кроме того, начиная с версии 2.0, с новыми темами для обоев вы можете сделать пользовательский интерфейс активности, которую пользователь посещает из вашего виджета, поверх тех же обоев, что и дома. Это делает переключение между ним и домом более похожим на взаимодействие внутри дома, чем с другим приложением.

10 голосов
/ 27 декабря 2011

Начиная с уровня API 11 (Android 3.0.x), вы можете использовать " android.widget.RemoteViewsService.RemoteViewsFactory " и назначить виджет для использования (из документов):

ListView : представление, отображающее элементы в вертикально прокручивающемся списке. Пример см. В виджете приложения Gmail.

GridView : представление, отображающее элементы в двумерной сетке прокрутки. Пример см. В виджете приложения «Закладки».

StackView : представление с накоплением карт (вроде как rolodex), где пользователь может перевернуть переднюю карту вверх / вниз, чтобы увидеть предыдущую / следующую карту соответственно. Примеры включают в себя виджеты приложений YouTube и Книги.

См. Раздел http://developer.android.com/guide/topics/appwidgets/index.html Использование виджетов приложений с коллекциями.

Так что да - если вы используете одну из вышеперечисленных раскладок, ваш виджет будет принимать жесты.

...