Изменение расположения виджета программно

Две страницы, где существует длинный список программирования шрифтов, являются этими страницами на keithdevens.com и lowing.org (битая ссылка, но это в интернет-архиве )

Некоторые другие обсуждения программирования шрифтов, которые могут иметь больше предложений, комментарии к этому сообщению в блоге на typographica и эта тема на форуме текстового редактора .

Лично мне нравится Triskweline:

сопроводительный текст http://www.netalive.org/tinkering/triskweline/shot.gif

9
задан Ryan Alford 7 December 2009 в 15:59
поделиться

2 ответа

Вы должны выбрать макет при создании своего 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);

}
8
ответ дан 4 December 2019 в 21:10
поделиться

Спасибо, Йони.

Просто хотел добавить в ваш код. При получении объекта RemoteViews вы указываете контекст и идентификатор макета. Здесь вы устанавливаете, какой макет вы хотите отображать.

Например ...

 RemoteViews views = null;

 if (1 == 1)
       views = new RemoteViews(m_context.getPackageName(), R.layout.Layout1);
 else 
       views = new RemoteViews(m_context.getPackageName(), R.layout.Layout2);

 AppWidgetManager.getInstance(context).updateAppWidget(
    new ComponentName(context, FuzzyWidget.class), views);
2
ответ дан 4 December 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: