安卓TextView文字悬浮阴影效果实现

本文介绍了如何在安卓中实现TextView的文字悬浮阴影效果,通过调整`android:shadowColor`、`android:shadowDx`、`android:shadowDy`和`android:shadowRadius`属性,可以控制阴影的颜色、位置和模糊程度。建议测试时更改背景色以观察效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在Textview上实现悬浮阴影效果只需要设置Textview的一下属性即可
根据值的不同效果也会出现差异

不要刚开始测试的时候注意先改一下背景颜色,不然可能看不出效果


属性如下


  1. android:shadowColor:阴影的颜色
        2. android:shadowDx:水平方向上的偏移量
        3. android:shadowDy:垂直方向上的偏移量
        4. android:shadowRadius:阴影的范围(可以直接理解为阴影的模糊程度,值越大越模糊,>=0&&<=25)


android:shadowDx和android:shadowDy一起控制阴影出现的位置


首先我们定义几个颜色,方便后面用到

<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>


    <color name="White">#FFF</color>
    <color name="Black">#000</color>
    <color name="Grey">#7F7F7F</color>
    <color name="DarkGrey">#4F4F4F</color>
    <color name="Green">#0F0</color>
    <color name="TransparentGrey">#7F000000</color>
    
</resources>

直接上图吧



代码如下

<?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:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:showDividers="middle"
    android:padding="@dimen/activity_vertical_margin"
    android:background="@color/White"
    tools:context="com.tyu.mytestapplication.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/TransparentGrey"
        android:shadowDx="3"
        android:shadowDy="3"
        android:shadowRadius="0"
        android:text="光源在左上角,偏移量3,阴影0,无效果"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/TransparentGrey"
        android:shadowDx="3"
        android:shadowDy="3"
        android:shadowRadius="5"
        android:text="光源在左上角,偏移量3,阴影5"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/TransparentGrey"
        android:shadowDx="10"
        android:shadowDy="10"
        android:shadowRadius="5"
        android:text="光源在左上角,偏移量10,阴影5"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/TransparentGrey"
        android:shadowDx="15"
        android:shadowDy="15"
        android:shadowRadius="5"
        android:text="光源在左上角,偏移量15,阴影5"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/TransparentGrey"
        android:shadowDx="7"
        android:shadowDy="7"
        android:shadowRadius="10"
        android:text="光源在左上角,偏移量7,阴影10"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/TransparentGrey"
        android:shadowDx="15"
        android:shadowDy="15"
        android:shadowRadius="10"
        android:text="光源在左上角,偏移量15,阴影10"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/TransparentGrey"
        android:shadowDx="10"
        android:shadowDy="10"
        android:shadowRadius="15"
        android:text="光源在左上角,偏移量10,阴影15"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/TransparentGrey"
        android:shadowDx="10"
        android:shadowDy="-10"
        android:shadowRadius="5"
        android:text="光源在左下角,偏移量10,阴影5"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/TransparentGrey"
        android:shadowDx="10"
        android:shadowDy="-10"
        android:shadowRadius="25"
        android:text="光源在左下角,偏移量10,阴影25"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/colorAccent"
        android:shadowDx="0"
        android:shadowDy="0"
        android:shadowRadius="15"
        android:text="长毛的文字,偏移量为0,阴影15"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/Black"
        android:shadowColor="@color/colorAccent"
        android:shadowDx="0"
        android:shadowDy="0"
        android:shadowRadius="25"
        android:text="长毛的文字,偏移量为0,阴影25"/>


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@color/White"
        android:shadowColor="@color/colorAccent"
        android:shadowDx="0"
        android:shadowDy="0"
        android:shadowRadius="15"
        android:text="空心字效果,偏移量为0,阴影15"/>

</LinearLayout>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值