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

时间:2011-06-22 06:13:10

标签: android textview shadow spannablestring

我有一个Android主屏幕小部件,上面有一个TextView ..不幸的是,我有一些问题造型..

我想将动态(从代码更改)阴影应用到文本中,我不知道该怎么做。我可以在布局中设置阴影,但如果我想在代码中更改它,则无法在RemoteView上执行此操作!

我以为我可以使用SpannableString执行此操作,但我找不到任何有用的内容。如果我在其中使用TextAppearanceSpan,它将忽略样式中的阴影属性。此外,当我开始在SpannableString上使用TextView时,它开始忽略我应用于TextView的阴影:(

这有什么问题,这是我最好的行动方式?

2 个答案:

答案 0 :(得分:0)

已编辑:由于无法在此处使用自定义视图,因此无法使用小部件。但对于试图在其他地方设置远程视图的人来说,这可能会有所帮助。

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


这样做的一种方法是创建一个名为ShadowyTextView的自定义TextView,并为我想要设置的每个值创建一个方法。

然后只是写下这样的事情:

  

remoteViews.setInt(R.id.myShadowyText," setShadowColor",someColor);

所以属性是由反射设置的。

也许不是最优雅的解决方案,但无法找到更好的解决方案。

答案 1 :(得分:-1)

尝试使用以下代码

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