1. 思路:向四个方向移动一个像素绘制一个重叠效果,在绘制正常文本,底部的文本就相当于以阴影效果;

  2. 代码如下:

importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Paint;importandroid.util.AttributeSet;importandroid.widget.TextView;publicclassShadowTextViewextendsTextView{publicShadowTextView(Contextcontext,AttributeSetattrs){super(context,attrs);}protectedvoidonDraw(Canvascanvas){//先绘制一个边框在调用父类的onDraw()方法,绘制正常文本drawText(canvas);super.onDraw(canvas);}privatevoiddrawText(Canvascanvas){//1.获取画笔对象,这里如果不用父类自己new的话要注意设置字体的大小,不然会使用默认大小会,字会很小Paintpaint=getPaint();//2.获取文本Stringtext=String.valueOf(getText());//3.定位字体位置//第一行左边距floatstartX=getLayout().getLineLeft(0);//第一行文字的底部边距floatstartY=getBaseline();//分别向左,向上,向下,向右一个像素绘制文本形成重叠效果paint.setColor(getResources().getColor(R.color.textShadowColor));canvas.drawText(text,startX+1,startY,paint);canvas.drawText(text,startX,startY-1,paint);canvas.drawText(text,startX,startY+1,paint);canvas.drawText(text,startX-1,startY,paint);}}


更多相关文章

  1. 为什么要学习 Markdown?究竟有什么用?
  2. Android经典例子收藏笔记1
  3. Hello Android(安卓)- Bitmap转换为黑白的灰度图和加圆角效果
  4. Android(安卓)Bitmap 缩放 旋转 水印 裁剪操作
  5. Android(安卓)Activity加载Fragment的一般简易方法
  6. Android下实现tab页个人比较推崇的方法
  7. 为Activity之间跳转添加动画
  8. Android(安卓)RecyclerView —— 基本使用
  9. Android(安卓)UI设计--新闻或信息条数的实现

随机推荐

  1. jsf中获取属性值的普通获取和jquery获取
  2. jQuery中filter()和find()的区别深入了解
  3. 有关下拉框jquery里的change事件无法触发
  4. 使用AJAX将动态数据传递给mvc控制器
  5. jquery.countdown 倒计时插件的学习
  6. jQuery ajax问题 - 无法让我的函数工作
  7. JQuery 表单验证按钮提交之前变色
  8. 如何退色改变背景图像
  9. 怎么让CSS动画走的慢一点啊。
  10. jQuery: 刨根问底 attr and prop两个函数