2015-03-06 5 views
1

Предположим, у меня есть виджет, который показывает содержимое моего веб-сайта.Как изменить вид виджета в Android?

enter image description here

Существует значок обновления в детском левом нижнем углу моего виджета.

enter image description here

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

Как я могу это сделать?

+0

Вы должны переопределить метод ondraw() представления, чтобы создать свой собственный вид. Следуйте за этим http://developer.android.com/training/custom-views/index.html – therealprashant

+1

Невозможно напрямую получить доступ на вид в виджетах. –

ответ

0

Использование AsynkTask, начать анимацию вращения в onPreExecute() и остановка анимации в onPostExecute() метод

+0

Я знаю, но в виджета я не могу получить доступ к представлению изображения. Я должен использовать remoteViews. –

0

Вы не можете изменить вид прямо, потому что вид внутри виджета находится вне вашего процесса (за пределами вашего адреса памяти и пространства).
Вид виджета помещается в некоторый системный процесс, и система делает все вызовы непосредственно android.view.View или android.view.ViewGroup.
Android позволяет внешним процессам обращаться к этим «встроенным» видам, используя класс RemoteViews.

Класс RemoteViews представляет собой набор действий, которые должна выполнять система для изменения внутреннего вида. Например, RemoteViews.setViewVisibility() является эквивалентом View.setVisibility().

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

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

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