2012-08-08 58 views
10

我动态创建一个TextView,并使用在此发布的方法设置阴影吧:Android - shadow on text?无法设置TextView的影子编程

但它不工作。应用样式(将textSize项目用于测试,并且工作正常),但阴影不显示。

的TextView:

TextView tv = new TextView(this); 
RelativeLayout.LayoutParams layoutPars = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
layoutPars.addRule(RelativeLayout.CENTER_VERTICAL); 
tv.setTextColor(0xffffffff); 
tv.setText(label); 
tv.setTextSize(11); 
tv.setTextAppearance(getApplicationContext(), R.style.BlackShadow); 

风格:

<style name="BlackShadow"> 
    <item name="android:shadowColor">#ff000000</item> 
    <item name="android:shadowRadius">1</item> 
    <item name="android:shadowDx">-1</item> 
    <item name="android:shadowDy">-1</item> 
    <item name="android:textSize">26dip</item> 
</style> 

我在做什么错?

回答

40

尝试这种情况:

tv.setShadowLayer(1.5f, -1, 1, Color.LTGRAY); 

从技术文档

setShadowLayer(float radius, float dx, float dy, int shadowColor) 

此提请主层之下的阴影层,用指定的偏移量和颜色,以及模糊半径。

欲了解更多信息,请查看http://developer.android.com/reference/android/graphics/Paint.html#setShadowLayer%28float,%20float,%20float,%20int%29

+0

why-1.5f?它看起来不像我的打字错误 – Alpaslan 2015-07-28 11:09:05

+0

@Alpaslan这些值仅作为示例,根据您的要求更改这些值。 – 2015-08-01 06:56:40