[英]Changing widget background at runtime
我正在開發一個簡單的小部件,我想在運行時從png文件(或類似文件)更改背景。 這可能嗎?如果可以,怎么做? 有人可以提供一些簡單的例子嗎?
謝謝
使用類似:
views.setImageViewBitmap(R.id.widgetBackground, ((BitmapDrawable)context.getResources().getDrawable(R.drawable.YOUR_BACKGROUND)).getBitmap());
文件YOUR_BACKGROUND
是png。
views
對象是RemoteViews
一個實例。 您可以使用以下方法獲取實例:
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
這些更改之后,請不要忘記更新窗口小部件。
AppWidgetManager mgr = AppWidgetManager.getInstance(context);
ComponentName me = new ComponentName(context, Widget.class);
mgr.updateAppWidget(me, views);
您可以使用setInt或RemoteViews中的其他方法來設置背景圖像或任何其他值。
remoteViews.setInt(R.id.widget_layout,“ setBackgroundResource”,R.drawable.myshape_red);
上面的示例是我用來將小部件更改為另一個可繪制形狀的內容。 但是,您需要傳遞一個“ id”,而不只是布局參考。
請注意,這不適用於2.1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.