Android——带文字阴影效果的TextView-创新互联

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

    目前创新互联已为上千的企业提供了网站建设、域名、虚拟空间、网站托管、企业网站设计、谢通门网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
  2. 代码如下:

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);
		
	}
	
	
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:Android——带文字阴影效果的TextView-创新互联
网站网址:http://ybzwz.com/article/ddoijh.html