android 图文一起 textview SpannableString和ImageSpan类的使用

今天讲解一下SpannableString和ImageSpan类

Bitmap bitmap = null;

bitmap = BitmapFactory.decodeResource(getResources(), imageIds[arg2 % imageIds.length]);

//第一个参数包括整个图片资源,第二个指定id

ImageSpan imageSpan = new ImageSpan(NeighborCommunicationMessageActivity.this, bitmap);

//编辑框里面加图片用到的类,让图片代替指定的文字,比如呵呵其实就相当于可以互相取代的。在输入的时候就会让你选

String str = null;

if(arg2<10){

str = "f00"+arg2;

}else if(arg2<100){

str = "f0"+arg2;

}else{

str = "f"+arg2;

}

SpannableString spannableString = new SpannableString(str);

spannableString.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

//

content.append(spannableString);

TextView结合SpannableString使用大全里面有一个用ImageSpan替换文本

具体就是:

SpannableString ss = new SpannableString(“ccccccccccccc踩踩踩”);

Drawable d = getResources().getDrawable(R.drawable.icon);

d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());

//创建ImageSpan

ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);

//用ImageSpan替换文本

ss.setSpan(span, 18, 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

txtInfo.setText(ss);

这时候content.append(spannableString);其实就是把图片表情传进edittext里面了。

android 图文一起 textview SpannableString和ImageSpan类的使用

时间: 2024-10-27 11:11:17

android 图文一起 textview SpannableString和ImageSpan类的使用的相关文章

Android 自绘TextView解决提前换行问题,支持图文混排

先看下效果图: 上面是MTextView,下面是默认的TextView. 一.原因 用最简单的全英文句子为例,如果有一个很长的单词,这一行剩余的空间显示不下了,那么规则就是不打断单词,而是把整个单词丢到下一行开始显示.这样本来没有错.一是咱们中国人都是方块字,怎么都放得下,不存在英文的这个问题.所以不习惯那个排版.二是如果TextView里面有图片,如图,不知道判断单词的代码是怎么弄得,总之它觉得最后一个啦字和后面的一串表情应该是一个整体,不能分开,就一起丢到第二行了,也就造成了这种难看的排版.

android:如何在TextView实现图文混排

我们通常在TextView文本中设置文字.可是如何设置图文混排呢? 我就在这里写一个例子 .我们需要用到一点简单的HTML知识 在TextView中预订了一些类似HTML的标签,通过标签可以使TextView控件显示不同颜色,大小,字体的文字 <font>:设置颜色和字体 <big>:设置大号 <small>:设置小号 <i>\<b>:斜体.粗体 <a>:链接地址 <img>:插入图片 在drawable中存入我们的图片.

Android UI编程(View、ViewGroup类、按钮、TextView、EditText)

1.View和ViewGroup类 Android中所有的UI元素都是使用View和ViewGroup类的对象建立的. View:将一些信息绘制在屏幕上可以与用户产生交互 Viewgroup:包含多个View和Viewgroup的容器,用来定义UI布局 2.按钮 (1)方式一: 配置: <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height=

Android学习笔记-TextView(文本框)(二)

文章参考自:http://www.runoob.com/w3cnote/android-tutorial-textview.html 2.4 使用autoLink属性识别链接类型 当文字中出现了URL,E-Mail,电话号码,地图的时候,我们可以通过设置autoLink属性:当我们点击 文字中对应部分的文字,即可跳转至某默认APP,比如一串号码,点击后跳转至拨号界面! all就是全部都包含,自动识别协议头~ 在Java代码中可以调用setAutoLinkMask(Linkify.ALL); 这个

android如果给TextView或EditText的email链接加下划线,并在点击在email连接上可以弹框显示

如何把textview的一些文字加上背景色: Spannable str = new SpannableString("#fdsfdfsdfdsfd#"); Matcher matcher = getEmailPattern().matcher((CharSequence) str); while (matcher.find()) { int start = matcher.start(); int end = matcher.end(); str.setSpan(new Foregr

Android图文混排(一)-实现EditText图文混合插入上传

前段时间做了一个Android会议管理系统,项目需求涉及到EditText的图文混排,如图: 在上图的"会议详情"中,需要支持文本和图片的混合插入,下图演示输入的示例: 当会议创建完成以后,保存数据到服务器,然后查看刚刚创建好的会议,如图: 一.明确需求 首先,点击"会议详情"文本框中,正常输入文本,然后点击左下角的图片图标,进入系统的相册用来选择一张图片并插入到文本框中,你还可以将光标停留在任意的文字中间,完成图片的插入,回退建即可以逐个删除文字,也可以删除图片.

Android之同一个TextView设置不同样式的文字

需求分析: 很多时候,我们需要在视图中显示不同样式的文字,但是为了减少viewgroup层级,不想新增很多个TextView控件来实现不同样式的文字. 那么有没有一种方式能够在同一个TextView控件中实现多种自定义的样式的文字呢? 答案是肯定的,下面就让我们来做一个此问题的实践实验. 实践过程: 首先我们在布局xml文件中定义了三个TextView控件,它们的定义如下: <TextView android:id="@+id/annualized_Rate_text" andr

Android开发之TextView高级应用

我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此.下面就和大家分享一下TextView的一些使用技巧. Android中设置文本样式的几种方法: 1.将android:autoLink属性值设为true.系统会自动识别E-mail.电话.网址等特殊文本. 2.使用Html标签,例如,<font>.<img>等.不要设置 android:autoLink 属性. 3.在Java代码中直接使用Span对象来设置文本样式.这种方法需要将文本

android如何在textview或edittext上添加表情

先上效果图: 首先来写一个表情的GridView public class EmotionView extends LinearLayout implements OnItemClickListener { private GridView mGridView; private static final ArrayList<Integer> emotionDisplayList = new ArrayList<Integer>(); public static final Link