【发布时间】:2016-06-15 21:25:24
【问题描述】:
我的 android 小部件中有一个文本视图,我只需要删除某些文本行。我在另一个 SO 问题中发现了这一点,以删除小部件中的文本:
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget);
// strike through text, this strikes through all text
views.setInt(R.id.appwidget_text, "setPaintFlags", Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
问题是这会穿透文本视图中的所有文本。如何仅删除文本视图的部分文本?
【问题讨论】:
-
也许使用
SpannableStringBuilder和StrikethroughSpan。这对于您自己的应用程序中的TextView可以正常工作;我没有尝试通过RemoteViews传递Spanned对象。 -
我认为在处理小部件时必须使用远程视图,因此跨度不起作用,或者至少我找不到将跨度应用于远程视图的方法。
-
setTextViewText()接受CharSequence,这通常意味着它接受SpannableStringBuilder。 -
哇。我觉得很笨。谢谢,这绝对有效。我在这方面工作了很长时间,以至于我完全忽略了它。
标签: android textview widget android-widget strikethrough