Android 有没有办法为SpannableString设置文本阴影?
我有一个Android主屏幕小部件,上面有一个Android 有没有办法为SpannableString设置文本阴影?,android,textview,shadow,spannablestring,Android,Textview,Shadow,Spannablestring,我有一个Android主屏幕小部件,上面有一个TextView。。不幸的是,我在设计它时遇到了一些问题 我想对文本应用动态(从代码更改)阴影,但我不知道如何做到这一点。我可以在布局中设置阴影,但如果我想在代码中更改阴影,则无法通过RemoteView完成此操作 我原以为我可以用SpannableString来做这件事,但我找不到任何有用的东西。。如果我在其中使用TextAppearanceSpan,它将忽略样式中的阴影属性。此外,当我开始在TextView上使用SpannableString时,
TextView
。。不幸的是,我在设计它时遇到了一些问题
我想对文本应用动态(从代码更改)阴影,但我不知道如何做到这一点。我可以在布局中设置阴影,但如果我想在代码中更改阴影,则无法通过RemoteView
完成此操作
我原以为我可以用SpannableString
来做这件事,但我找不到任何有用的东西。。如果我在其中使用TextAppearanceSpan
,它将忽略样式中的阴影属性。此外,当我开始在TextView
上使用SpannableString
时,它开始忽略我应用于TextView
的阴影:(
这有什么问题,我最好的做法是什么?尝试以下代码
TextView textHello = (TextView)findViewById(R.id.hello);
textHello.setShadowLayer(
5f, //float radius
10f, //float dx
10f, //float dy
0xFFffffff //int color
);
已编辑:这在小部件上不起作用,因为自定义视图不能在那里使用。但对于试图在其他地方的远程视图上设置它的人来说,这可能会有所帮助 看
实现这一点的一种方法是创建一个名为ShadowyTextView的自定义TextView,并为我要设置的每个值提供一个方法 然后就是写一些东西,比如: setInt(R.id.myShadowyText,“setShadowColor”,someColor) 因此,属性是通过反射设置的
也许不是最优雅的解决方案,但找不到更好的解决方案。不幸的是,正如我指出的,我在一个小部件中,通过
远程视图更改内容,所以我无法做到这一点。。。