背景:通讯录列表,每个单元格显示头像+名字,且头像显示圆形

方案一:ImageView + TextView

方案二:只用TextView + drawableLeft 属性

<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/padding_30"
android:drawableLeft="@drawable/icon_person_default"
android:drawablePadding="@dimen/padding_20"
android:text="@string/setting_direImage_person_name_default"
android:textColor="#464646"
android:textSize="24sp"
android:gravity="center_vertical"
android:background="#ffffff"/>

那么问题来了,如何显示圆形头像呢?

如果是方案一,很简单加个背景background 用 shape 即可

这里主要说下方案二的思想:

TextView 有个方法叫setCompoundDrawables(Drawable left,Drawable top,Drawable right,Drawable bottom),详细介绍参见API,如果我想在文字的左侧加一个图片只需要构造(Drawable left,null,null,null) 即可

那么在构造这个left 图片的时候,我是不是可以自定义一个Drawable 并实现圆角呢?经百度google,是可以的

我贴出自定义的Drawable代码,这里不再阐述

https://blog.csdn.net/kaifa1321/article/details/52967200

我这里在Adapter 里面直接如下使用:

CircleDrawable drawable = new CircleDrawable((contacts.getBitmap())); // 请不用管contacts.getBitmap()是什么,这里传进去的是一个BitMap即可
drawable.setBounds(0,0,146,146);// 大小根据你的需求
holder.textView.setCompoundDrawables(drawable,null,null,null);

如果不足请指出,谢谢!

安卓使用TextView实现图片加文字说明的更多相关文章

  1. Android TextView中有图片有文字混合排列

    Android TextView中有图片有文字混合排列 1.使用html.fromHtml 2.新建ImageGetter 3.使用<img src>标签 demo: 1.设置文字 ((T ...

  2. PHP给图片加文字水印

    <?php /*给图片加文字水印的方法*/ $dst_path = 'http://f4.topitme.com/4/15/11/1166351597fe111154l.jpg'; $dst = ...

  3. Java图片加文字水印

    Java图片加文字水印 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.I ...

  4. C#给图片加文字水印

    public class TxtWaterMark { public enum WaterPositionMode { LeftTop,//左上 LeftBottom,//左下 RightTop,// ...

  5. ASP.NET(C#)图片加文字、图片水印,神啊,看看吧

    ASP.NET(C#)图片加文字.图片水印 一.图片上加文字: //using System.Drawing; //using System.IO; //using System.Drawing.Im ...

  6. php给图片加文字

    在图片上加文字是论坛,博客,新闻网站上最喜欢用的功能,防止盗图.这里看看代码是如何实现的. 首先还是upload_image.php这个文件,注意这里的caption文本框中输入的内容最终会写到图片上 ...

  7. C#给图片加文字和图片的水印

    /// <summary> /// WaterMark 的摘要说明 /// </summary> /// 图片加水印 /// <param name="strC ...

  8. Android给图片加文字和图片水印

    我们在做项目的时候有时候需要给图片添加水印,水寒今天就遇到了这样的问题,所以搞了一个工具类,贴出来大家直接调用就行. /** * 图片工具类 * @author 水寒 * 欢迎访问水寒的个人博客:ht ...

  9. PHP图片加文字水印和图片水印方法(鉴于李老师博客因没加水印被盗,特搜集的办法。希望能有用!)

    $dst_path = 'dst.jpg'; //创建图片的实例 $dst = imagecreatefromstring(file_get_contents($dst_path)); //打上文字 ...

随机推荐

  1. Anaconda安装Package的问题(Permission Denied)

    最近需要用到低版本的pytorch,使用pytorch官网安装的pytorch版本是最新的0.4.1,而它的previous version的那个链接一直打不开. 因此考虑使用清华的镜像源: 1.In ...

  2. python3 load Iris.data数据集出现报错key words: b'Iris-setosa'

    通过搜索原因,发现有可能是在对文件读取是编译出现了问题,并且Keyword中提示b'Iris-setosa',而我们的string转float函数中没有字母b,很奇怪.所以尝试将转换函数所有的stri ...

  3. Web Service学习(一)

    1.WebMethod特性包含哪些属性,都有什么用? 1.BufferResponse属性 该属性表明是否启用对Web Service方法响应的缓冲.当设置为true时,Web Service方法将响 ...

  4. SSIS - 2.使用脚本任务弹出对话框

    步骤如下: 1.打开Visual Studio 2012或者SSDT工具->单击“文件”->选择"新建"打开创建新工程的对话框如下: 2.在"Business ...

  5. 长时间关机测试脚本.VBS

    Sub Main Dim cnt Dim delay Dim time Dim atttime atttime = 20 delay = 3000 time = 50 cnt_time=3 crt.s ...

  6. tool 使用font-spider解决字体压缩问题

    开发页面时经常需要使用特殊字体,一个.ttf文件动则几M,字体文件需要优化 http://font-spider.org/ 安装好node环境后 1.全局安装font-spider npm insta ...

  7. mysql 储存过程

    存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...

  8. Vue学习记录第二天

    又来做笔记啦,今天又自暴自弃了,还好及时清醒过来了,什么时候努力都不晚,主要是要一直坚持下去,只要坚持就一定会有收获,所有成功得人背后都是付出了巨大得努力的,没有人平白无故的成功.看似光鲜亮丽的背后, ...

  9. Logstash安装介绍

    前言 logstash是ELK日志系统中的一部分,主要承担将收集完成日志进行过滤,并且输出到es的职责. logstash本身也可以作为客户端部署到应用系统的服务器上进行日志收集,但是由于资源开销占用 ...

  10. java框架之SpringBoot(17)-监控管理

    介绍 SpringBoot 提供了监控管理功能的场景启动器,它可以为我们提供准生产环境下的应用监控和管理功能.我们可以通过HTTP.JMX.SSH协议来进行操作,自动得到审计.健康及指标信息等. 使用 ...