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

    在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>



版权声明:本文为u012587005原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。