drawableLeft与文本一起居中显示
来源:互联网 发布:数据提取软件 编辑:程序博客网 时间:2024/05/16 10:21
/** * drawableLeft与文本一起居中显示 * * @author 农民伯伯 * @see http://www.cnblogs.com/over140/p/3464348.html * */public class DrawableCenterTextView extends TextView { public DrawableCenterTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public DrawableCenterTextView(Context context, AttributeSet attrs) { super(context, attrs); } public DrawableCenterTextView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { Drawable[] drawables = getCompoundDrawables(); if (drawables != null) { Drawable drawableLeft = drawables[0]; if (drawableLeft != null) { float textWidth = getPaint().measureText(getText().toString()); int drawablePadding = getCompoundDrawablePadding(); int drawableWidth = 0; drawableWidth = drawableLeft.getIntrinsicWidth(); float bodyWidth = textWidth + drawableWidth + drawablePadding; canvas.translate((getWidth() - bodyWidth) / 2, 0); } } super.onDraw(canvas); }}
drawableRigh 居中代码实现public class DrawableCenterButton extends Button {public DrawableCenterButton(Context context) {super(context);// TODO Auto-generated constructor stub}public DrawableCenterButton(Context context, AttributeSet attrs,int defStyle) {super(context, attrs, defStyle);}public DrawableCenterButton(Context context, AttributeSet attrs) {super(context, attrs);}@Overrideprotected void onDraw(Canvas canvas) {Drawable[] drawables = getCompoundDrawables();if (drawables != null) {Drawable drawableLeft = drawables[2];if (drawableLeft != null) {float textWidth = getPaint().measureText(getText().toString());int drawablePadding = getCompoundDrawablePadding();int drawableWidth = 0;drawableWidth = drawableLeft.getIntrinsicWidth();float bodyWidth = textWidth + drawableWidth + drawablePadding;setPadding(0, 0, (int)(getWidth() - bodyWidth), 0);canvas.translate((getWidth() - bodyWidth) / 2, 0);}}super.onDraw(canvas);}}
阅读全文
0 0
- drawableleft与文本一起居中显示
- drawableLeft与文本一起居中显示
- TextView的drawableLeft与文本一起居中显示(以及代码设置drawableLeft)
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView、Button的drawableLeft和drawableRight与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView(Radiobutton)、Button的drawableLeft和drawableRight与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- TextView、Button的drawableLeft和drawableRight与文本一起居中显示
- 自定义控件让EditText的drawableLeft与文本一起居中显示
- 集群和分布式的认识
- 微信清除缓存的办法
- C++ STL源码剖析——memory.cpp
- Mysql 1042错误
- 智力游戏(猜数字)
- drawableLeft与文本一起居中显示
- Django 资源文件配置
- JAVA中的super()方法为什么在最前面
- Unity3d 编辑器扩展系列-ContextMenu的使用
- Hbase部署
- java项目http变更https
- python datetime处理时间
- csdn如何快速完美的转载别人的文章
- 预览多张图片