Android 根据用户输入为小部件添加自定义背景

Android 根据用户输入为小部件添加自定义背景,android,android-widget,Android,Android Widget,我有一个显示一组信息的小部件。我想做的是让用户有机会选择背景色/图像。我想有一个弹出窗口时,用户选择的小部件选择背景 那么我该如何制作弹出窗口呢 我将如何动态应用背景 谢谢你能给予的任何帮助 我以前没有专门做过这件事,但我会按照以下方式进行: 如果您希望拾取系统中已经存在的文件,请触发“意图拾取操作”\u pick并提供正确的intent.data元素 如果您正在提供选项: 创建一个对话框,其中包含图像视图/文本视图的列表视图,该列表视图具有复合绘图功能和一些文本以选择背景 将返回的值存储到首选

我有一个显示一组信息的小部件。我想做的是让用户有机会选择背景色/图像。我想有一个弹出窗口时,用户选择的小部件选择背景

那么我该如何制作弹出窗口呢

我将如何动态应用背景


谢谢你能给予的任何帮助

我以前没有专门做过这件事,但我会按照以下方式进行:

如果您希望拾取系统中已经存在的文件,请触发“意图拾取操作”\u pick并提供正确的intent.data元素 如果您正在提供选项: 创建一个对话框,其中包含图像视图/文本视图的列表视图,该列表视图具有复合绘图功能和一些文本以选择背景 将返回的值存储到首选项文件中 从首选项读取并应用背景
希望这有帮助

我想如果你点击小部件打开一个PreferenceActivity会更好。 然后选择适当的图片,并使用以下命令获取适当的Pref:

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
}
倒退接地代码不工作。我阅读了setImageViewResource的文档,我认为这是一个悬而未决的问题。如果您找到了设置背景的解决方案,请告诉我。

我最终使用的是:

    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);

    }

希望这对其他人有帮助。

我知道这是一种提示用户的方法,但我不知道如何实际实现后台更改。我找到了android:configure选项。谢谢:-@atolar,如果你能详细说明一下,那就太好了。我有兴趣了解更多关于这些选项的信息,以及小部件配置活动的信息。