TextView-shadow 阴影实现
2024-08-26 23:39:13
直接上代码
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进行一步转化才行
最新文章
- VS2015 编译 Qwt6.1.3
- JMeter基础之一 一个简单的性能测试
- NFS挂载Android文件系统
- group_concat函数与find_in_set()函数相结合
- NEERC 2013, Eastern subregional contest
- jenkins的搭建和使用
- 关于python中的unicode字符串的使用
- 小笔记(一):ajax传递数组及将ajax返回数据赋值
- STM32单片机学习心得——概述
- 如何在Intellij IDEA中拉svn分支?
- HTTP &;RFC
- 初学javascript《一》break和continue的标签问题
- pycharm创建新django app
- DataGridView显示行号-RowPostPaint
- 12C -- 配置EM Express的端口
- 写入CSS的3种方式
- [PLC]ST语言二:LDP_LDF_ANDP_ANDF_ORP_ORF
- iOS GCD之dispatch_semaphore(信号量)
- kalilinux系统设置
- IOS Intro - Write file
热门文章
- GOLANG 加密,解密,GUID 小方法
- Vue或React多页应用脚手架
- 2008R2域控环境中 应用组策略 实现禁用USB设备使用
- happy Mom ——php mysqli DES加密
- dedecms关键词维护里面字数多的词优先字数少的词的解决办法
- Flask--Python中常用的Web框架之一
- Swift学习笔记(1)--基本语法
- flex RemoteObject 的两种使用方法
- ShopNC【B2B2C】多用户电商平台系统,带WAP,微商城,圈子,门户
- How to anti-Obfuscated code