Android TextView 文本框

上一章节我们学习了 TextView (文本框) 的基本用法,如果我们想要给 TextView 上的文字添加阴影效果,有没有办法呢?

阴影效果就是太阳下人的影子一样,颜色有点淡,有点模糊

TextView 文字阴影效果

Android TextView 提供了几个 android:shadowXXX 属性用于设置文字阴影效果

属性 说明
android:shadowColor 设置阴影颜色,需要配合 shadowRadius 一起使用
android:shadowRadius 设置阴影的模糊程度,设为 0.1 就变成字体颜色了,建议使用 3.0
android:shadowDx 设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置
android:shadowDy 设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置

范例

我们写一个范例来演示下这些基础属性

  1. 创建一个 空的 Android 项目 cn.twle.android.TextView

  2. 修改 res/values/strings.xml 为添加几个字符串

    <?xml version="1.0" encoding="utf-8" ?>
    <resources>
        <string name="app_name">TextView</string>
        <string name="hello">TextView 文字阴影效果</string>
    </resources>
    
  3. 修改 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>
    
  4. 修改 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 显示如下

第二个还好,第一个有点难看,建议阴影颜色不要和文字颜色反差太大

参考文档

  1. TextView API

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.