gpt4 book ai didi

android - 以编程方式更改小部件布局

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:32:22 26 4
gpt4 key购买 nike

假设我有一个小部件的两个布局:Layout1 和 Layout2。小部件的默认值为 Layout1,但我允许用户选择他们希望小部件采用哪种布局。因此,如果用户更改为Layout2,如何以编程方式将布局更改为 Layout2?

小部件没有像 Activity 那样的 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);

}

关于android - 以编程方式更改小部件布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1860914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com