我有一个 Android 主屏幕小部件,上面有一个 TextView
。不幸的是,我在设置它的样式时遇到了一些问题。
我想对文本应用动态(从代码更改)阴影,但我不确定如何执行此操作。我可以在布局中设置阴影,但如果我想在代码中更改它,则无法通过 RemoteView
执行此操作!
我以为我可以用 SpannableString
做到这一点,但我找不到任何有用的东西。如果我在其中使用 TextAppearanceSpan
,它会忽略阴影来自样式的属性。此外,当我开始在 TextView
上使用 SpannableString
时,它开始忽略我应用于 TextView
的阴影 :(
这有什么问题,我最好的做法是什么?
最佳答案
已编辑:这不适用于小部件,因为自定义 View 不能在那里使用。但对于试图在其他地方的远程 View 上设置它的人来说,这可能会有一些帮助。
参见 http://code.google.com/p/android/issues/detail?id=10029
实现此目的的一种方法是制作一个名为 ShadowyTextView 的自定义 TextView,并为我要设置的每个值使用一个方法。
然后只需编写如下内容即可:
remoteViews.setInt(R.id.myShadowyText, "setShadowColor", someColor);
所以属性是通过反射设置的。
也许不是最优雅的解决方案,但找不到更好的解决方案。
关于android - 有没有办法为 SpannableString 设置文本阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6435648/