TextView中的drawableleft图标不和文字一起居中
来源:互联网 发布:简单java技术分享ppt 编辑:程序博客网 时间:2024/04/29 08:18
设置gravity为center也无济于事,终于有空研究了一下,这里与大家一起分享。![这里写图片描述](http://img.blog.csdn.net/20170616180830607?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzYwODMyNDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) <TextView android:id="@+id/text" android:clickable="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/scann" android:layout_marginTop="20dp" android:gravity="center" android:drawableLeft="@drawable/bianji" android:drawablePadding="5dp" android:text="@string/text" android:textSize="16sp" /> 下面来解决这个问题,,,, ```方法:自定义view 继承textview,public class DrawableCenterTextView extends TextView{ public DrawableCenterTextView(Context context) { super(context); // TODO Auto-generated constructor stub } public DrawableCenterTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } public DrawableCenterTextView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } @Override protected void onDraw(Canvas canvas) { //在布局文件中设置TextView的四周图片,用getCompoundDrawables方法可以获取这4个位置的图片 Drawable[] drawables = getCompoundDrawables(); if(drawables != null){ Drawable left = drawables[0]; if(left != null){ float textWidth = getPaint().measureText(getText().toString()); int padding = getCompoundDrawablePadding(); int width = 0; width = left.getIntrinsicHeight(); float bodyWidth = textWidth + width + padding; canvas.translate((getWidth() - bodyWidth)/2, 0); } } super.onDraw(canvas); }}在看之前的布局,,,,, <com.gensee.view.DrawableCenterTextView android:id="@+id/text" android:clickable="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/scann" android:layout_marginTop="20dp" android:gravity="center_vertical" android:drawableLeft="@drawable/bianji" android:drawablePadding="5dp" android:text="@string/text" android:textSize="16sp" />```和之前的改变就是没有了gravity属性,自定义view 已经帮我们实现了![这里写图片描述](http://img.blog.csdn.net/20170616181843627?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzYwODMyNDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)是不是很简单 ,喜欢的点个赞!!!
阅读全文
0 0
- TextView中的drawableleft图标不和文字一起居中
- TextView文字+drawableLeft居中显示
- 如何让drawableLeft与文字一起居中
- Android自定义控件之自定义TextView,实现drawableLeft可以和文字一起居中
- Android 中TextView的DrawableLeft与DrawableRight与文字一起居中显示
- Android自定义控件TextView---之实现drawableLeft图片和文字一起居中
- Android开发 TextView 文字和drawableLeft居中
- 让TextView中的图片和文字一起水平居中显示
- 让TextView的drawableLeft与文本一起居中
- android studio 按钮drawableLeft图标与文字不能同时居中
- TextView的drawableLeft与文本一起居中显示(以及代码设置drawableLeft)
- RadioButton解决文字和drawableleft和文字一起时不居中
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView、Button的drawableLeft和drawableRight与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Java并发编程】之四:守护线程与线程阻塞的四种情况
- 什么是句柄
- 量化进阶——多策略量化回测实录(一)
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- Git常用操作命令
- TextView中的drawableleft图标不和文字一起居中
- KeyUp、keyPress、keyDown的简单理解
- Ooze 扩展自定义action节点
- Camera app 分析(一)
- 【Java并发编程】之五:volatile变量修饰符—意料之外的问题(含代码)
- 直接在PHP中写数据库查询
- 【微信小程序】自定义模态对话框实例
- Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一)
- 数组与指针分析