Xoce 的答案非常正确,但它更像是应用程序文本视图的一般答案,但通过一些调整,我可以为小部件做到这一点。(还要感谢 CommonsWare 将我推向正确的方向。
在 updateAppWidget 方法中,您可以使用远程视图将文本添加到 textview。要自定义带有删除线的文本视图文本的子字符串,请使用可跨度字符串构建器(您也可以使用不同的跨度来实现粗体、下划线、斜体等)
这是我所做的:
static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
int appWidgetId) {
CharSequence widgetText = NewAppWidgetConfigureActivity.loadTitlePref(context, appWidgetId, NewAppWidgetConfigureActivity.TEXT_KEY);
// Construct the RemoteViews object
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget);
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(widgetText);
StrikethroughSpan strikethroughSpan = new StrikethroughSpan();
spannableStringBuilder.setSpan(strikethroughSpan, startIndex, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
views.setTextViewText(R.id.appwidget_text, spannableStringBuilder);
...
}