2013-08-20 43 views
3

我有一个textview,我将它的样式设置为我用阴影制作的样式。我在style.xml InfoTextstyle中声明了我想要的设置,并将textview样式设置为样式,但不起作用。Android的textview阴影无法使用style.xml

这是style.xml

<style name="InfoTextStyle" parent="AppBaseTheme"> 
     <item name="android:textColor">#fff</item> <- works 
     <item name="android:textSize">18sp</item> <- works 
     <item name="android:shadowColor">#ff0000</item> <- don't works* 
     <item name="android:shadowRadius">5.0</item> <- * 
     <item name="android:shadowDx">2.0</item> <- * 
     <item name="android:shadowDy">2.0</item> <- *     
</style> 

&这是activity_main.xml中

<TextView 
    android:id="@+id/brightness" 
    style="@style/InfoTextStyle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginTop="15dp" 
    android:text="@string/brightness" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

我是新到Android,所以我不知道有什么问题。

+0

根据样式文本的颜色是否改变?也推荐你使用#RRGGBB不是#RGB –

回答

0

使用在你的TextView声明此XML代码,而不是使用样式

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="A light blue shadow." 
    android:shadowColor="#00ccff" 
    android:shadowRadius="1.5" 
    android:shadowDx="1" 
    android:shadowDy="1" 
    /> 

-Android:则shadowColor阴影颜色相同的格式,文字颜色。

-android:shadowRadius指定为浮点数的阴影的半径。

-android:shadowDx将阴影的水平偏移量指定为浮点数。

-android:shadowDy阴影的垂直偏移指定为浮点数。

还可以使用此链接来挑选你的颜色代码 http://www.w3schools.com/tags/ref_colorpicker.asp

编辑:

TextView textv = (TextView) findViewById(R.id.textview1); 
textv.setShadowLayer(1, 0, 0, Color.BLACK); 

也看看这个链接样式的方式 https://stackoverflow.com/a/2487340/1364896

+0

我已经使用过你的代码,但仍然不起作用。无论如何感谢您的提示 –

+0

它应该工作,尝试增加值注意它...也尝试以编程方式在编辑更快的shaddow @MaximilianMüller –

+0

对于API级别21和以上,您可以使用textview的xml中的高程属性为阴影效果。 –

1

几件事尝试:

  1. 查看真实的设备,而不是Eclipse中的“图形布局”,它不支持文本阴影。
  2. 将阴影半径减小为1.半径越大,阴影越模糊。
  3. 检查您在主“值”目录下或在值 - dpi下写入的样式文件。也许你的设备dpi没有针对你的样式文件
+0

太好了,谢谢你的帮助!我认为这个阴影直接在eclipse中显示。 –