Android TextView 文本框
上一章节我们学习了 TextView (文本框) 的基本用法,如果我们想要给 TextView 上的文字添加阴影效果,有没有办法呢?
阴影效果就是太阳下人的影子一样,颜色有点淡,有点模糊
TextView 文字阴影效果
Android TextView 提供了几个 android:shadowXXX
属性用于设置文字阴影效果
属性 | 说明 |
---|---|
android:shadowColor | 设置阴影颜色,需要配合 shadowRadius 一起使用 |
android:shadowRadius | 设置阴影的模糊程度,设为 0.1 就变成字体颜色了,建议使用 3.0 |
android:shadowDx | 设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置 |
android:shadowDy | 设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置 |
范例
我们写一个范例来演示下这些基础属性
-
创建一个 空的 Android 项目
cn.twle.android.TextView
-
修改
res/values/strings.xml
为添加几个字符串<?xml version="1.0" encoding="utf-8" ?> <resources> <string name="app_name">TextView</string> <string name="hello">TextView 文字阴影效果</string> </resources>
-
修改
res/values/colors.xml
添加几个颜色<?xml version="1.0" encoding="utf-8" ?> <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303f9f</color> <color name="colorAccent">#FF4081</color> <color name="red">#ff0000</color> <color name="green">#00ff00</color> <color name="blue">#0000ff</color> <color name="white">#ffffff</color> <color name="black">#000000</color> <color name="c333333">#333333</color> <color name="dddddd">#dddddd</color> </resources>
-
修改 activity_main.xml 文件
<?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context = ".MainActivity" android:background = "@color/white"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:shadowColor="@color/red" android:shadowDx="10.0" android:shadowDy="10.0" android:shadowRadius="3.0" android:text="@string/hello" android:textColor="@color/c333333" android:textSize="30sp" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:shadowColor="@color/dddddd" android:shadowDx="10.0" android:shadowDy="10.0" android:shadowRadius="3.0" android:text="@string/hello" android:textColor="@color/c333333" android:textSize="30sp" /> </LinearLayout>
运行 APP 显示如下
第二个还好,第一个有点难看,建议阴影颜色不要和文字颜色反差太大