TextView实现图文混合编排的方法
一、简介
在这里实现图文混合编排使用的是:TextView中预定义的类似Html的标签
二、方法
* 1、设置好html标签的文本
String html="<font>图片1</font><img class="lazy" data-src='image1'/>";
html+="<font>图片2</font><img class="lazy" data-src='image2'/>";
html+="<font>图片3</font><img class="lazy" data-src='image3'/>";
html+="<font>图片4</font><img class="lazy" data-src='image4'/>";
html+="<font>图片5</font><img class="lazy" data-src='image5'/>";
* 2、为之前的文本声明Html.fromHtml,方便TextView解析为html标签
tv_one.setText(Html.fromHtml(text1));
因为有图片,我们要获取图片源,所以上面的那句不行;
所以如下:
CharSequence text=Html.fromHtml(html, new ImageGetter() {中间省略}, null);
new ImageGetter() {中间省略}这部分比较复杂,看实例代码吧,实质就是取到R文件中图片对应的ID
* 3、将CharSequence字符串序列的文本text插入到TextView控件中即可
tv_textAndImage.setText(text);
这里是charSequence是因为Html.fromHtml方法的返回值是Spanned类型,
看下下面的类图特别好懂:
三、代码实例
效果图
代码
fry.ActivityDemo2
package fry;import java.lang.reflect.Field;import com.example.textViewDemo1.R;import android.app.Activity;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.text.Html;import android.text.Html.ImageGetter;import android.widget.TextView;public class ActivityDemo2 extends Activity{ private TextView tv_textAndImage; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity02); setTitle("TextViewDemo2"); tv_textAndImage=(TextView) findViewById(R.id.tv_textAndImage); //第一步,设置文本 String html="<font>图片1</font><img class="lazy" data-src='image1'/>"; html+="<font>图片2</font><img class="lazy" data-src='image2'/>"; html+="<font>图片3</font><img class="lazy" data-src='image3'/>"; html+="<font>图片4</font><img class="lazy" data-src='image4'/>"; html+="<font>图片5</font><img class="lazy" data-src='image5'/>"; //第二步,告诉TextView控件这是html,并且获取文本中的图片源 CharSequence text=Html.fromHtml(html, new ImageGetter() { public Drawable getDrawable(String source) { // TODO Auto-generated method stub //根据图片资源ID获取图片 //getResources就是去找项目里面的res文件夹 Drawable drawable=getResources().getDrawable(getDrawableResurceID(source)); //一定要加上边界这部分代码。要不然drawable会因为信息不完整读不出来图片 //分别是left top width height drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); return drawable; } }, null); //第三步、将CharSequence字符串序列的文本text插入到TextView控件中即可 tv_textAndImage.setText(text); } private int getDrawableResurceID(String imageName){ //利用反射机制取得图片的id try { Field field=R.drawable.class.getField(imageName); return Integer.parseInt(field.get(null).toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return 0; }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
TextView实现图文混合编排的方法
下载Word文档到电脑,方便收藏和打印~
猜你喜欢
TextView实现图文混合编排的方法
Android TextView实现图文混合编排的方法
Android中使用TextView实现图文混排的方法
Android编程开发实现TextView显示表情图像和文字的方法
Android实现TextView显示HTML加图片的方法
Android中TextView显示插入的图片实现方法
Android编程实现TextView部分颜色变动的方法
Android重写TextView实现文字整齐排版的方法(附demo源码下载)
Android编程实现对文件夹里文件排序的方法
混合语言编程—C#使用原生的Directx和OpenGL绘图的方法
Android TextView控件文字添加下划线的实现方法
Android编程实现TextView字体颜色设置的方法小结
在html中实现图片排版的方法
Python实现针对中文排序的方法
Android编程实现自动调整TextView字体大小以适应文字长度的方法
Android编程实现给Button添加图片和文字的方法
Android编程实现图片透明的方法
docker-compose实现容器任务编排的方法步骤
android编程实现图片库的封装方法
编程热搜
Python 学习之路 - Python
一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-chatgpt的中文全称是什么
chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列C/C++可变参数的使用
可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃Python 3 教程
Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 PythonPython pip包管理
一、前言 在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install 和 pip , 目前官方推荐使用 pip。
编程资源站
- 资料下载
- 历年试题
目录
反馈
我要
反馈