Две страницы, где существует длинный список программирования шрифтов, являются этими страницами на keithdevens.com и lowing.org (битая ссылка, но это в интернет-архиве )
Некоторые другие обсуждения программирования шрифтов, которые могут иметь больше предложений, комментарии к этому сообщению в блоге на typographica и эта тема на форуме текстового редактора .
Лично мне нравится Triskweline:
сопроводительный текст http://www.netalive.org/tinkering/triskweline/shot.gif
Вы должны выбрать макет при создании своего 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);
}
Спасибо, Йони.
Просто хотел добавить в ваш код. При получении объекта 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);