簡體   English   中英

在運行時更改小部件背景

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM