我有一个显示一组信息的小部件。我想做的是让用户有机会选择背景颜色/图像。我想在用户选择窗口小部件时选择背景时弹出窗口。
那我怎么做弹出窗口?
我将如何动态应用背景?
感谢您提供任何帮助!!
答案 0 :(得分:0)
我之前没有这么做过,但我会按照以下方式进行:
希望这有帮助
答案 1 :(得分:0)
我认为如果通过点击小部件打开PreferenceActivity可能会更好。 然后选择合适的图片并使用以下内容获取相应的首选项:
String background = prefs.getString("background", "bgpink"); // get the Prefs!
RemoteViews views = new RemoteViews(this.getPackageName(), R.layout.widget);
if (background.equals("bgpink")) {
views.setImageViewResource(R.id.widgetLayout, R.drawable.bgpink); // set the background
}
setBackground代码不起作用。我阅读了“setImageViewResource”的文档,我认为这是一个悬而未决的问题。如果您找到了设置背景的解决方案,请与我们联系。
答案 2 :(得分:0)
我最终使用的是:
public static void setWidgetBackground(Context context, AppWidgetManager appWidgetManager, int mAppWidgetId, int newBackground){
// theLayout is a global int in my case
switch (newBackground){
case R.id.brown:
theLayout = R.layout.brown_widget;
break;
case R.id.darkblue:
theLayout = R.layout.darkblue_widget;
break;
case R.id.darkpurple:
theLayout = R.layout.darkpurple_widget;
break;
// ... etc.
}
// save the settings so we can load and apply again next time the widget is updated
WidgetConfigure.saveLayout(context,mAppWidgetId,theLayout);
// call the actual update so that the right background is applied
this.updateAppWidget(context, appWidgetManager, mAppWidgetId, theLayout);
}
希望这对其他人有帮助。