首页 > 代码库 > Android——带文字阴影效果的TextView
Android——带文字阴影效果的TextView
思路:向四个方向移动一个像素绘制一个重叠效果,在绘制正常文本,底部的文本就相当于以阴影效果;
代码如下:
import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.util.AttributeSet; import android.widget.TextView; public class ShadowTextView extends TextView{ public ShadowTextView(Context context, AttributeSet attrs) { super(context, attrs); } protected void onDraw(Canvas canvas) { //先绘制一个边框在调用父类的onDraw()方法,绘制正常文本 drawText(canvas); super.onDraw(canvas); } private void drawText(Canvas canvas) { //1.获取画笔对象,这里如果不用父类自己new的话要注意设置字体的大小,不然会使用默认大小会,字会很小 Paint paint = getPaint(); //2.获取文本 String text = String.valueOf(getText()); //3.定位字体位置 //第一行左边距 float startX = getLayout().getLineLeft(0); //第一行文字的底部边距 float startY = 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); } }
Android——带文字阴影效果的TextView
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。