Android(安卓)UI设计小知识——富文本
16lz
2021-01-26
富文本
什么是富文本?
可能大家要问了,富文本是什么?怎么是这个“富”来,好奇怪啊……第一次接触的时候我也不知道什么是富文本,但是后来老师给举了一个例子就明白了。都喜欢用QQ聊天,有时候我们会给文字设置颜色让其特殊显示或者添加表情,让聊天更加丰富。这些包含特殊显示文字和图片的文本其实就是富文本。
富文本,可以支持一部分的HTML,也可以动态添加的一些图片。
如何使用富文本
如何使用富文本这个问题其实在我之前的博客(Android UI设计——TextView控件 )也详细的讲述过了,但是在这里我还是决定拿出来在单独的开一篇博客。
获得富文本有两种方法:
- 一种是在标签中传src值,然后将src值传入ImageGetter的对象中通过反射来获得src值对应的图片的id。
textFu = (TextView) findViewById(R.id.textFu); ImageGetter imageGetter = new Html.ImageGetter() { @Override public Drawable getDrawable(String s) { int id = R.mipmap.ic_launcher; //方法一:通过反射获得图片id。 Class clazz =R.mipmap.class; try { Field field = clazz.getDeclaredField(s); id = field.getInt(clazz); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } Drawable drawable = getResources().getDrawable(id); drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight()); } }; Spanned spanned = Html.fromHtml("这是一个富文本,然后加一个图标",imageGetter ,null); textFu.setText(spanned); textFu.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
- 第二种是在标签中不传src值,然后通过ImageGetter的对象自己获得图片的id。
textFu = (TextView) findViewById(R.id.textFu); ImageGetter imageGetter = new Html.ImageGetter() { @Override public Drawable getDrawable(String s) { //方法二,直接通过R.mipmap.a_merchant_06_click,得到图片。 Drawable drawable = getResources().getDrawable(R.mipmap.a_merchant_06_click); drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight()); return drawable; } }; Spanned spanned = Html.fromHtml("这是一个富文本,然后加一个图标",imageGetter ,null); textFu.setText(spanned); textFu.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
更多相关文章
- android 应用opencv 对图片的处理
- Android(安卓)TextView中标点符号或英文导致自动换行问题
- Launcher功能的修改及添加,本篇是一些小功能的展示,通知栏显隐,dock
- android中,由于图像处理不当而引起的OOM问题及其解决方案(一)
- 《Android开发艺术探索》之学习笔记(三)View的基础知识
- 三种方法,刷新 Android(安卓)的 MediaStore!让你保存的图片立即出
- Android(安卓)launcher动态Icon的实现方法
- 防止Android过快点击造成多次事件的三种方法
- Android中自定义加载样式图片的具体实现