2012-05-07 5 views
2

У меня проблема, что я хочу создать виджет главного экрана со списком внутри, который должен быть прокручиваемым. Я читал на странице docs, что listview поддерживается только в remoteview из 3.0 android.Android-прокручиваемый список в главном экране виджета

Но все же я думаю, что это не совсем так, или я что-то упускаю. Хорошо, когда я попытался добавить listview в свой домашний экран, я получаю ошибку: class not allowed to be inflated android.widget.listview. НО на моем телефоне я андроид 2.2.3 и я могу добавить виджет на домашний экран (его некоторые приложения электронной почты виджет), который показывает прокручивать список моих писем, смотрите здесь:

http://i50.tinypic.com/2gslq2q.png

И мой вопрос : Как это возможно и как это сделать, каким образом? Im googling несколько часов, но понятия не имею, как это возможно (возможно, динамически генерировать элементы int вертикальной линейной компоновки и создавать ручную скроллер с правой стороны, но это звучит ужасно сложно). [Введите описание изображения здесь] [1]

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

ответ

1

I read on docs page, that listview is only supported in remoteview from 3.0 android.

Correct.

i am able to add home screen widget (its some email application widget) which shows SCROLLABLE list of my emails

Это не приложение виджета. Это особенность реализации этого домашнего экрана.

maybe its possible to generate long list of items into linear layout and detecting, if user is moving up or down with finger...

Нет, извините.

+0

, пожалуйста, будьте более конкретными, написав: «Это не виджет приложения. Это особенность реализации этого домашнего экрана». Что это значит? Как они реализовали прокручиваемое listview (или что-то похожее на listview)? – qkx

+0

@qkx: «Что это значит?» - это точно то, что я написал. Когда вы нажимаете кнопку HOME на телефоне, все, что вы делаете, это перенос на передний план, который происходит для реализации главного экрана. Эта * активность * может содержать «ListView», в то время как виджет приложения не может. В этом мероприятии можно утверждать, что у него есть «виджет» электронной почты, в котором используется «ListView», даже если это не приложение-виджет. Вы можете сказать об этом, установив * другой домашний экран * в Play Маркете и заметив, что вы больше не можете попасть в этот «виджет приложений». – CommonsWare

+0

так на других телефонах (с другими реализациями домашнего экрана) он не должен работать? Ну, я извлек apk этого приложения и проверил файл макета - они использовали какой-то компонент с именем «com.lge.appwidget.Andy_EmailListView» - как я понимаю, его что-то вроде разработанного LG компонента, который работает только на телефонах LG, соответственно. на домашних экранах, таких как мои? – qkx

Смежные вопросы