假设我有一个小部件的两个布局:Layout1和Layout2.窗口小部件的默认设置是Layout1,但我允许用户选择他们想要窗口小部件的布局.因此,如果用户更改为Layout2,如何以编程方式将布局更改为Layout2?
对于小部件,没有像活动那样的setContentView方法.
谢谢
在构建remoteView时必须选择布局.在我的小部件代码中:
public static RemoteViews buildUpdate(Context context, String action) {
RemoteViews updateViews;
SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, 0);
String typeface = prefs.getString("typeface", "sans");
int layoutId = R.layout.widget_sans;
if ("monospace".equals(typeface)){
layoutId = R.layout.widget_mono;
} else if ("serif".equals(typeface)){
layoutId = R.layout.widget_serif;
}
updateViews = new RemoteViews(context.getPackageName(),
layoutId);
//actually do things here
//then finally, return our remoteView
AppWidgetManager.getInstance(context).updateAppWidget(
new ComponentName(context, FuzzyWidget.class), updateViews);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9255 次 |
| 最近记录: |