有没有方法为SpannableString设置文本阴影?

3
我有一个Android主屏幕小部件,其中包含一个TextView。不幸的是,我在样式方面遇到了一些问题。
我想将文本应用动态阴影(从代码中更改),但我不确定如何做到这一点。我可以在布局中设置阴影,但如果我想在代码中更改它,就没有办法通过RemoteView实现!
我认为我可以使用SpannableString来实现这个目标,但我找不到任何有用的信息。如果我在其中使用TextAppearanceSpan,它将忽略样式中的阴影属性。此外,一旦我在TextView上使用SpannableString,它就开始忽略我应用于TextView的阴影 :(
这是什么问题,我该采取什么行动呢?
2个回答

0

编辑:这在小部件上不起作用,因为无法在那里使用自定义视图。但对于试图在其他地方设置它的人可能会有所帮助。

请参见http://code.google.com/p/android/issues/detail?id=10029


一种实现的方法是创建一个名为ShadowyTextView的自定义TextView,其中包含我想要设置的每个值的方法。
然后只需要编写类似以下的代码:
remoteViews.setInt(R.id.myShadowyText, "setShadowColor", someColor);
因此,属性通过反射设置。
也许不是最优雅的解决方案,但找不到更好的方法。

-1

请尝试以下代码

TextView textHello = (TextView)findViewById(R.id.hello);
        textHello.setShadowLayer(
          5f,   //float radius
          10f,  //float dx
          10f,  //float dy 
          0xFFffffff //int color
          );

不幸的是,正如我所指出的,我在一个小部件中,并且通过“RemoteView”更改东西,所以我不能这样做... - Artiom Chilaru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接