我试图将TextView的样式设置为智能手表应用程序的删除线。到目前为止我遇到的方法是不行的:
1)将TextView的背景设置为图像:这是有效的,但仅当文本未被包装时,我才会收到来自长项目客户的投诉
2)以编程方式设置绘制标记:
textview.setPaintFlags(textview.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
我无法做到这一点,因为我无法在代码中获取TextView的引用,因为智能手表API的工作方式(您只需向其发送布局ID,然后您就无法控制在它上面)
3)在字符串中使用HTML标记:不起作用,因为我只允许向控件发送字符串,并且它会转义标记
4)使用SpannableString:不起作用。如果我使用span.toString()发送它,那么标签将被转义,如果我使用bundle.putCharSequence(span),则不会显示任何内容。
对我来说,你可以在XML中设置粗体和斜体似乎很奇怪,但没有别的。任何人都可以提出任何其他想法吗?
答案 0 :(得分:-1)
在创建具有各种效果的自定义布局时,我们建议使用showBitmap()
代替showLayout()
。您可以使用Canvas
对任何版面进行充气并将其绘制到Bitmap
中。有关详细信息,请参阅SampleControlExtension
示例。请注意,此方法的缺点是,您需要使用onTouch
个事件而不是onObjectClick
个事件。