直接上代码

1)实现普通效果

 <TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:shadowColor="#ff0000"
android:shadowDx="3"
android:shadowDy="3"
android:shadowRadius="1"
android:text="abcdefg"
android:textColor="#0000ff"
android:textSize="100sp" />

运行结果如下

2)测试下各个属性值影响

1.

android:shadowRadius="0"

结果

所以,只要让
shadowRadius = 0,就不会有阴影显示

2.
android:shadowRadius="20"

结果

它控制的主要就是阴影的宽度,它的值也大,阴影越大,而且颜色越淡

3.测试下dx,dy的作用

        android:shadowDx="30"
android:shadowDy="30"

结果

也就是阴影的偏移量。

总结如下

1. android:shadowColor:阴影的颜色

2. android:shadowDx:水平方向上的偏移量

3. android:shadowDy:垂直方向上的偏移量

4. android:shadowRadius:是阴影的的半径大小

以上变量全是px单位。而且,如果您想用@dimen引用,会报错。

如果你想在代码中使用,可以使用如下方法

package com.example.imagetest;

import android.R.integer;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView; public class MainActivity extends Activity {
TextView tv;
Button bt;
int a;
float t1;
float t2; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv);
bt = (Button) findViewById(R.id.bt);
a = 0;
t1 = getResources().getDimension(R.dimen.activity_horizontal_margin);
t2 = getResources().getDimension(R.dimen.activity_vertical_margin); bt.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) {
if (a == 1) {
// R.color没有效果
tv.setShadowLayer(t1, t1, t1, R.color.aaa);
a = 0; } else {
tv.setShadowLayer(t2, t2, t2, 0x800000ff);
a = 1;
}
bt.setText(a + "");
}
}); } }

也就是setShadowLayer方法

setShadowLayer(radius, dx, dy, color);

它的四个参数,分别对应上面的四个属性

四个属性取值,要么直接写,要么使用getResource进行一步转化才行

最新文章

  1. VS2015 编译 Qwt6.1.3
  2. JMeter基础之一 一个简单的性能测试
  3. NFS挂载Android文件系统
  4. group_concat函数与find_in_set()函数相结合
  5. NEERC 2013, Eastern subregional contest
  6. jenkins的搭建和使用
  7. 关于python中的unicode字符串的使用
  8. 小笔记(一):ajax传递数组及将ajax返回数据赋值
  9. STM32单片机学习心得——概述
  10. 如何在Intellij IDEA中拉svn分支?
  11. HTTP &amp;RFC
  12. 初学javascript《一》break和continue的标签问题
  13. pycharm创建新django app
  14. DataGridView显示行号-RowPostPaint
  15. 12C -- 配置EM Express的端口
  16. 写入CSS的3种方式
  17. [PLC]ST语言二:LDP_LDF_ANDP_ANDF_ORP_ORF
  18. iOS GCD之dispatch_semaphore(信号量)
  19. kalilinux系统设置
  20. IOS Intro - Write file

热门文章

  1. GOLANG 加密,解密,GUID 小方法
  2. Vue或React多页应用脚手架
  3. 2008R2域控环境中 应用组策略 实现禁用USB设备使用
  4. happy Mom ——php mysqli DES加密
  5. dedecms关键词维护里面字数多的词优先字数少的词的解决办法
  6. Flask--Python中常用的Web框架之一
  7. Swift学习笔记(1)--基本语法
  8. flex RemoteObject 的两种使用方法
  9. ShopNC【B2B2C】多用户电商平台系统,带WAP,微商城,圈子,门户
  10. How to anti-Obfuscated code