仅在不使用背景的情况下将TextView样式设置为删除XML

时间:2014-05-06 10:23:22

标签: android sony sony-smartwatch

我试图将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中设置粗体和斜体似乎很奇怪,但没有别的。任何人都可以提出任何其他想法吗?

1 个答案:

答案 0 :(得分:-1)

在创建具有各种效果的自定义布局时,我们建议使用showBitmap()代替showLayout()。您可以使用Canvas对任何版面进行充气并将其绘制到Bitmap中。有关详细信息,请参阅SampleControlExtension示例。请注意,此方法的缺点是,您需要使用onTouch个事件而不是onObjectClick个事件。