android 显示图片和文字,android TextView显示文字和图片
在做web的时候jsp页面可以直接显示一段html代码,如:
TextView使用HTML
强调
斜体
"
+"
超链接HTML入门学习HTML!
颜色1"
+"
颜色2
标题1
标题2
标题3
大于>小于<
" +
"下面是网络图片
在jsp页面和老版的android 版本之前都可以显示图片,
较早版本的android实现:2.3.3测试
Html html="";
TextView tv=(TextView)findViewById(R.id.textView1);
tv.setText(Html.fromHtml(html, imgGetter,null));
ImageGetter imgGetter = new Html.ImageGetter() {
public Drawable getDrawable(String source) {
Toast.makeText(context,source,Toast.LENGTH_LONG).show();
TextView tvs=(TextView)findViewById(R.id.textView);
String ss=tvs.getText()+source+"\n";
tvs.setText(ss);
Log.d("image",source);
Drawable drawable = null;
URL url;
try {
url = new URL(source);
drawable = Drawable.createFromStream(url.openStream(), ""); //获取网路图片
} catch (Exception e) {
return null;
}
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable
.getIntrinsicHeight());
return drawable;
}
};
我的项目是4.2的以上代码在获取网络图片是就会报错,因为android在之后的版本中不允许在主线程中做比较耗时的操作比如http请求,所以以上代码运行是就会报错!后来自己就对上面的代码做了处理
private Map bitmaps=new HashMap();//存放新闻中图片
private boolean newsImgIsShow=false;//判断新闻中图片是否显示
private List urls=new ArrayList();//存放文章中的图片链接
TextView tvContent=(TextView) findViewById(R.id.tv_news_details_content);
urls.clear();
String strHtml=="";
tvContent.setText(Html.fromHtml(strHtml,imgGetter,null));//先把文章赋值给textview
//imgGetter过滤文章中的图片
ImageGetter imgGetter = new Html.ImageGetter() {
public Drawable getDrawable(String source) {
Drawable drawable=null;
//source文章中图片地址
if(newsImgIsShow){//判断图片是否已经获取
//将图片从map中取出
BitmapDrawable bd = new BitmapDrawable(bitmaps.get(source));
drawable=bd;
}else{
//将图片地址添加到列表中
urls.add(source);
//设置默认图片
drawable=getResources().getDrawable(R.drawable.no_photo);
}
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable
.getIntrinsicHeight());
return drawable;
}
};
final Handler handler=new Handler(){
public void handleMessage(Message msg){
super.handleMessage(msg);
if(msg.what==1){//图片请求成功后重新设置textview
newsImgIsShow=true;
tvContent.setText(Html.fromHtml(strHtml,imgGetter,null));
}
}
};
//开辟子线程请求服务器图片
new Thread(){
public void run(){
try {
for(String url:urls){
Log.d("url",url);
Bitmap bitmap=null;
try {
bitmap=HttpHelper.getURLBitmap(url);//图片请求
if(null==bitmap){
bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.no_photo);
}
} catch (Exception e) {
// TODO: handle exception
bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.no_photo);
}
bitmaps.put(url, bitmap);
}
Message msg=new Message();
msg.what=1;
handler.sendMessage(msg);
} catch (Exception e) {
// TODO: handle exception
}
}
}.start();
android 显示图片和文字,android TextView显示文字和图片相关推荐
- android html图片点击事件,TextView加载html图片并点击放大
实际上android中的textview是提供了加载html代码的功能的,使用的方法也很简单 textView.setText(Html.fromHtml("html",null, ...
- android TextView显示文字和图片
为什么80%的码农都做不了架构师?>>> 在做web的时候jsp页面可以直接显示一段html代码,如: <html><head><title> ...
- androidstudio图片居中_[Android]Android 布局中如何让图片和文字居中显示?
图片文字居中显示 **①组件TextView的属性 drawableTop ``` android:layout_width="match_parent" android:layo ...
- Android TextView 显示HTML加图片
TextView显示网络图片,我用android2.3的系统,可以显示图片出来,并且如果图片比较大,应用会卡的现象,肯定是因为使用主线程去获取网络图片造成的,但如果我用android4.0以上的系统运 ...
- Android textview字体颜色显示和图片显示
1,可以在布局文件中设置 1 <EditText 2 android:id="@+id/editText1" 3 android:textColo ...
- android textview表情,Android开发(16)-TextView显示表情图像和文字
从这个案例中我们可以学到当我们美化图片美化界面的时候可以在某一区域输入图片和文字混搭信息,第三张图片按比例缩小,第四张图像有超链接 布局文件 MainActivity.java package com ...
- android+显示html内容居中显示图片,Android开发中对HTML内容的显示
摘 要 随着Android科技的发展,手机客户端接受了更多的HTML内容.本文作者采用WebView直接显示法结合人机 >> Android开发中的主题设置研究 线程在Android开发中 ...
- android 浮动文字提示,怎么在Android中实现一个自由拖动并显示文字的悬浮框
怎么在Android中实现一个自由拖动并显示文字的悬浮框 发布时间:2021-01-27 15:34:05 来源:亿速云 阅读:107 作者:Leah 今天就跟大家聊聊有关怎么在Android中实现一 ...
- Android TextView显示网络图片
前言:程序猿真的是有个通病啊,电梯上就在研究电梯的逻辑代码,走路看到红绿灯也会去研究算法,今天心情不错,于是就发了一个说说,发现某q空间中显示了我发的说说,但是我发的笑脸跟哭脸表情由于网络慢,很久才加 ...
最新文章
- 敏捷个人2012.8月份线下活动报道:Toastmasters、团队管理
- mysql 程序迁移_如何从MySQL数据库程序中迁移数据库文件
- Java:内部类之成员内部类,内部类之匿名内部类
- 系统学习Lambda表达式
- Spring依赖注入(DI)
- java中生成不重复随机的数字
- conn.execute
- Java 8实战 第一章笔记
- Jetson AGX Xavier配置PyTorch与TorchVision流程
- python3速查参考- python基础 3 - - while循环实例 + Continue break的应用 + 列表的初步学习...
- Golang 方法接收者为值与指针的区别
- django python3 异步_详解配置Django的Celery异步之路踩坑
- VirtuoZo数字摄影测量(二)——模型定向与核线影像生成
- [备忘]windows下安装PHP环境php.ini-recommended 跟php.ini-dist 的差别之处
- Spring IOC核心源码学习
- 并发编程学习之JDK1.8的ConcurrentHashMap
- Macbook M1电脑安装svn及使用
- wordpress 上传图片时提示“无法建立目录wp-content/uploads/2019/03。有没有上级目录的写权限?
- sns.pairplot()用法
- android 加速度 重力,安卓获取重力加速度例子
热门文章
- java net unicode / native2ascii / url decode / url encode / UTF8 / js url code
- 华为2017年9月校招芯片类面试经验
- 无人驾驶汽车技术之道路线识别
- 如何在 Windows 中更改桌面位置
- 国开机考2020计算机应用基础,2020年武汉理工大学《计算机接口与通讯》作业与机考题库.docx...
- Kerberos协议详解
- 自然语言处理的数学原理(一)
- 【Nodejs】Nodejs入门必知
- JIR、进程池和线程池
- 入网模组 | 广和通G510无线GPRS模块接入方案