android中给TextView或许Button的文字添加阴影效果

转自http://www.myexception.cn/android/1236047.html

学习目标:

1.什么是阴影?什么是文字阴影?

2.阴影的参数有哪些?模糊度,偏移量,阴影颜色

3.阴影设置的3种方法

android中给TextView或者Button的文字添加阴影效果


1在代码中添加文字阴影

TextView 有一个方法

/**
     * Gives the text a shadow of the specified radius and color, the specified
     * distance from its normal position.
     *
     * @attr ref android.R.styleable#TextView_shadowColor
     * @attr ref android.R.styleable#TextView_shadowDx
     * @attr ref android.R.styleable#TextView_shadowDy
     * @attr ref android.R.styleable#TextView_shadowRadius
     */
    public void setShadowLayer(float radius, float dx, float dy, int color) {
        mTextPaint.setShadowLayer(radius, dx, dy, color);

        mShadowRadius = radius;
        mShadowDx = dx;
        mShadowDy = dy;

        invalidate();
    }

mTextView.setShadowLayer(10F, 11F,5F, Color.YELLOW); 第一个参数为模糊度,越大越模糊。 第二个参数是阴影离开文字的x横向距离。 第三个参数是阴影离开文字的Y横向距离。 第四个参数是阴影颜色。(如果模糊度为0是看不到阴影效果的)

Button是继承TextView的,所以Button也可以在代码中使用setShadowLayer(float radius, float dx, float dy, int color)方法

2在配置文件中添加文字阴影

<TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/person_popularvalue"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="5.0dip"
            android:layout_marginLeft="10.0dip"
            android:shadowColor="@color/black"
            android:shadowDx="0"
            android:shadowDy="1"
            android:shadowRadius="1"
            android:textColor="@color/white"
            android:textSize="14sp" >
 </TextView>



android:shadowColor 阴影的颜色

android:shadowDx 阴影的水平偏移量

android:shadowDy 阴影的垂直偏移量

android:shadowRadius 阴影的范围

需要注意的地方 :将android:shadowRadius=0 的时候是看不到阴影的

Button的文字阴影效果的添加与上面的一样。


3.

在values文件夹下创建styles.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="StyleBarTitle">
        <item name="android:layout_gravity">center_vertical</item>
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_weight">1</item>
        <item name="android:gravity">center_horizontal</item>
        <item name="android:textSize">20dip</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">#FFFFFF</item>
        <item name="android:shadowColor">#ff000000</item> //阴影颜色,前两位为透明度
        <item name="android:shadowDx">5</item> //阴影的水平偏移量
        <item name="android:shadowDy">5</item> //阴影的垂直偏移量
        <item name="android:shadowRadius">3</item> //阴影的范围
        <item name="android:background">@null</item>
    </style>
</resources>

 

TextView使用方式如下:

<TextView  
        style="@style/StyleBarTitle"
        android:id="@+id/head_txt_title" 
        android:text="About Us" 
        android:singleLine="true" />
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值