自定义控件让TextView的drawableLeft与文本一起居中显示
2014-08-20 14:13
489 查看
实现代码
自定义控件
/**
* @author 谭东
* http://blog.csdn.net/jay100500
* android有梦想的开发者QQ群:271410559
*/
自定义控件
/** * drawableLeft与文本一起居中显示 * * */ 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); } }
/**
* @author 谭东
* http://blog.csdn.net/jay100500
* android有梦想的开发者QQ群:271410559
*/
相关文章推荐
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView(Radiobutton)、Button的drawableLeft和drawableRight与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView、Button的drawableLeft和drawableRight与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- TextView、Button的drawableLeft和drawableRight与文本一起居中显示
- 让TextView的drawableLeft与文本一起居中显示
- 让TextView的drawableLeft与文本一起居中
- 自定义控件让EditText的drawableLeft与文本一起居中显示
- Android 让自定义TextView的drawableLeft与文本一起居中
- TextView中的drawableleft图标不和文字一起居中
- drawableLeft与文本一起居中显示