博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 自己定义 TextView drawableTop 图标与文字左对齐(效果图)
阅读量:6184 次
发布时间:2019-06-21

本文共 1390 字,大约阅读时间需要 4 分钟。

 
 
 
public class DrawableTopLeftTextView extends TextView {	private Paint mPaint;	private float fFontHeight;	private Drawable[] drawables;	private int leftMargin = 40; //TODO 这个要通过代码获取,不能硬编码	public DrawableTopLeftTextView(Context context, AttributeSet attrs, int defStyle) {		super(context, attrs, defStyle);		init();	}	public DrawableTopLeftTextView(Context context, AttributeSet attrs) {		super(context, attrs);		init();	}	public DrawableTopLeftTextView(Context context) {		super(context);		init();	}	private void init() {		mPaint = getPaint();		//mPaint.setTextSize(56.0f);		mPaint.setColor(Color.parseColor("#cccccccc"));		FontMetrics fm = mPaint.getFontMetrics();		fFontHeight = (float) Math.ceil(fm.descent - fm.ascent);		drawables = getCompoundDrawables();	}	@Override	protected void onDraw(Canvas canvas) {		if (drawables != null) {			Drawable drawable = drawables[1]; // top			if (drawable != null) {				final float textY = getY() + drawable.getIntrinsicHeight() + fFontHeight - 5;				canvas.drawText(getText().toString(), 0, textY, mPaint);				canvas.clipRect(drawable.getBounds());				canvas.drawBitmap(getBitmap(drawable), getLeft()+leftMargin, getTop(), mPaint);				drawable.draw(canvas);				canvas.save();			}		}		super.onDraw(canvas);	}		private final static Bitmap getBitmap(Drawable drawable){		BitmapDrawable bd = (BitmapDrawable) drawable;		return bd.getBitmap();	}}

效果图
你可能感兴趣的文章
MOOON-scheduler核心设计图(初稿)
查看>>
网站开发的流程
查看>>
Apache Common-pool2对象池浅析
查看>>
Microsoft Hyper-V Server 2008 R2和SCVMM2012部署XenDesktop 5.6桌面虚拟化系列之二准备虚拟桌面模板...
查看>>
我的友情链接
查看>>
改变虚拟机MAC地址
查看>>
solr教程
查看>>
我的友情链接
查看>>
钱旺之行:互联网经济的增长点——注意力价值经济
查看>>
hadoop Map-Reduce体系架构(3)
查看>>
android语音朗读功能demo实现
查看>>
CRT或XSHELL工具连接centos7经常自动断开
查看>>
使用 QuickBI 搭建酷炫可视化分析
查看>>
1-1 Zabbix 监控安装
查看>>
最近运维中遇到的一些问题及解决方法
查看>>
Hadoop集群(第10期副刊)_常用MySQL数据库命令
查看>>
LinkedHashMap的实现原理
查看>>
shell 判断语句
查看>>
LVS+keepalived+Nginx(前后端故障处理)全自动化负载均衡配置
查看>>
gdb调试(转自http://wenku.baidu.com/view/abdda42ee2bd960590c67730.html)
查看>>