2015-03-17 2 views
0

По состоянию на мой предыдущий вопрос here Я успешно справился с этим с помощью прозрачного изображения. Теперь я хочу динамически менять цвет фона изображений в remoteviews (PS Я хочу, чтобы виджет был подобным, а цвет изображений в данной ссылке динамически менялся).Изменение цвета фона удаленного просмотра динамически

Я попытался следующий код:

ColorFilter cf = new PorterDuffColorFilter(-15032095, Mode.MULTIPLY); 
     Drawable d= context.getResources().getDrawable(R.drawable.panel1); 
     d.mutate(); 
     d.setColorFilter(cf); 
     rv.setBitmap(R.id.rl_noti_main, "setColorFilter", drawableToBitmap(d)); 

, но это не помогло. Как я могу достичь этого? У меня есть цветовые коды во всех форматах integer, HEX или string, что бы ни понадобилось. Обратите внимание, что я хочу сделать это только для заданных фигур в ссылке this и для удаленного просмотра.

Заранее спасибо :)

ответ

0

Вы не можете динамически обновлять виджеты.

Вы можете использовать setBitmap() method, чтобы изменить растровое изображение вида внутри RemoteView. Если представление находится на заднем плане, оно должно изменить фон. Затем обновите виджет, чтобы изменения были применены.

Если вы используете RemoteViews в уведомлениях, вам следует обновить уведомление после этого. Если вы используете его в Widget, вы должны использовать функцию appWidgetManager.updateAppWidget(appWidgetId, views);.

+0

Спасибо tasomaniac .... Я использую его в уведомлениях. И серьезно, я не получил тебя. можете ли вы объяснить вкратце. Я использую panel1 как drawable, который находится в папке с возможностью переноса и прозрачен. Как изменить цвет этой конкретной формы по коду. Я попробовал rv.setInt (R.id.rl_main, "setBackgroundColor", -15032095) и многие другие. – kiturk3

+0

Вы можете поместить ImageView в качестве фона и изменить его src с помощью функций 'setBitmap' или' setImageViewBitmap'. – tasomaniac

+0

Я получу цвет от выбора цвета, так будет ли это возможно? – kiturk3

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