我有一个Android主屏幕小部件,上面有一个TextView
..不幸的是,我有一些问题造型..
我想将动态(从代码更改)阴影应用到文本中,我不知道该怎么做。我可以在布局中设置阴影,但如果我想在代码中更改它,则无法在RemoteView
上执行此操作!
我以为我可以使用SpannableString
执行此操作,但我找不到任何有用的内容。如果我在其中使用TextAppearanceSpan
,它将忽略样式中的阴影属性。此外,当我开始在SpannableString
上使用TextView
时,它开始忽略我应用于TextView
的阴影:(
这有什么问题,这是我最好的行动方式?
答案 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
);