如何实现使用TextView的DrawableLeft使图片和文字居中显示呢???

代码如下:

1.首先自定义一个类,继承TextViewpackage com.test.signcalendar.weight;import android.content.Context;import android.graphics.Canvas;import android.graphics.drawable.Drawable;import android.util.AttributeSet;import android.widget.TextView;/**

* 自定义TextView,实现drawableLeft可以和文字一起居中

* @author HLQ

* @createtime 2016年3月20日04:14:36

*

*/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);

}

}

2.之后在xml布局文件中直接引用即可。。。

真是会者不难,,,难者不会。。。

android如何让自定义控件居中,Android自定义控件之自定义TextView,实现drawableLeft可以和文字一起居中...相关推荐

  1. android 微信朋友圈 全功能,Android仿微信朋友圈文字展开全文功能 Android自定义TextView仿微信朋友圈文字展开全文功能...

    Android自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: android:orientation="vert ...

  2. Android自定义Textview 蒙语显示(蒙古文字)

    Android自定义Textview 蒙语显示(蒙古文字) 竖排Textview 自动换行 从左到右 蒙语字体包 demo下载地址 https://download.csdn.net/download ...

  3. android 微信朋友圈 全功能,Android自定义TextView仿微信朋友圈文字展开全文功能

    Android自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: android:orientation="vert ...

  4. kotlin中自定义TextView之drawableLeft与文本一起居中显示

    import android.annotation.SuppressLint import android.content.Context import android.graphics.Canvas ...

  5. WPS如何让表格里的文字上下居中

    日常办公时经常用到WPS这一款软件,WPS共分为word文档,excel表格和PPT演示文档三种,用到其中的表格时可能需要设置表格中的文字上下居中,那么具体怎么设置呢,下面小编将从word文档,exc ...

  6. 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示

    前言 TextView的drawableLeft.drawableRight和drawableTop是一个常用.好用的属性,可以在文本的上下左右放置一个图片,而不使用更加复杂布局就能达到,我也常常喜欢 ...

  7. android 继承现有控件,Android继承现有控件拓展实现自定义控件textView

    通常情况下,Android实现自定义控件无非三种方式. Ⅰ.继承现有控件,对其控件的功能进行拓展. Ⅱ.将现有控件进行组合,实现功能更加强大控件. Ⅲ.重写View实现全新的控件 本文重点讨论继承现有 ...

  8. android 自定义控件 焦点,Android 自定义Button按钮显示样式(正常、按下、获取焦点)...

    现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的.今天学习自定义Button按钮样式.Button样式修改的是Button的背景 ...

  9. Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)

    Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高.     一个相对完善的自定义控件在布局文件中和java代码中都 ...

最新文章

  1. Mac 安装 MySQL-python 问题解决
  2. 阿里开源分布式事务解决方案 Fescar
  3. 每天一道LeetCode-----重新实现next_permutation
  4. psql: FATAL: role “appleyuchi” does not exist与修改默认密码
  5. echarts源码:图标类插件开发
  6. Mac安装Python我觉得靠谱的方法
  7. 结构体02:结构体数组
  8. 学科分类与代码_考研常识 | 2021硕士研究生学科门类、一级学科、二级学科、专业目录及代码查询...
  9. 解决用U盘重装Mac系统中电脑无法识别U盘的问题
  10. 工作中的一些经验和教训
  11. 创意休闲手游《急速感染》震撼来袭~
  12. MySQL 更改root密码
  13. 计算机专业推荐的比赛
  14. 四十七、批量操作数据
  15. 字节三面:对于 Spring 你了解多少?如果你会了这 150 道题 ,吊打面试官岂不是洒洒水
  16. 7-3 重要的话说三遍 (5分)
  17. PLSQl 万能操作
  18. js中box和box()的区别
  19. 适合程序员使用的Google Chrome mac(谷歌浏览器)
  20. IPv4, IPv6, IPv9能表示多少IP地址?

热门文章

  1. Type_C工作原理
  2. S1.2 Python开发规范指南
  3. python慢在哪里_求大神分析一下我的python脚本慢在哪里?
  4. linux ftp下载文件_Linux系统中10个使用Wget命令下载文件示例
  5. python生词本的生词_【Anki小工具】有道生词本转Anki 1.0
  6. 电脑下边的任务栏不见了_正确的Windows任务栏设置,为你的操作带来便利,一起学习...
  7. P1038 神经网络(拓扑排序)
  8. 数据湖分析如何面向对象存储OSS进行优化?
  9. 给 COLA 做减法:应用架构中的“弯弯绕设计”
  10. 同步一张表、复制过滤设置