




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TextView高级显示一在一个TextView里面显示不同颜色的字1.1在textView里面显示不同颜色的字方法一: 如果考虑到想把所有的记录保存起来可以用以下的方法因为是在一个TextView里面显示,因此会执行多次的setText, 这样的话必然会覆盖掉前面的,所以就应该把这些显示的内容保存起来,加上要区分颜色,所以这里首先声明了一个ListMap list = new ArrayListMap();接下来就是根据颜色分别保存要显示的内容:声明一个map用于存放蓝色字体的,要改颜色的话直接将下面的blue换成其他颜色。Map map02 = new HashMap();map02.put(value,edittext.getText().toString();map02.put(color, blue);然后加入到一开始声明好的list里面:list.add(map02);如果想要另一种颜色的字,比如红色,同理,声明一个map用于存放红色字体的,要改颜色的话直接将下面的red换成其他颜色。Map map01 = new HashMap();map01.put(value,edittext.getText().toString();map01.put(color, red);然后加入到一开始声明好的list里面:list.add(map01);然后每次就将list里面的内容显示出来就行了:根据颜色用html的格式将list里面的值转换为对应颜色的字符串for(int i =0;ilist.size();i+)if(list.get(i).get(color).equals(red)s01+= +list.get(i).get(value)+;else s01+= +list.get(i).get(value)+;将得到的字符串用Html显示就可以看到效果了textview.setText(Html.fromHtml(s01);方法二:如果想简单一点,不想每次都将发送的信息保存起来,就可以使用appand()函数这个方法的思想就是每发送一条信息就将该消息在转换为相应的颜色,并执行textview.appand(“转换后的信息”)即:String s = Html.fromHtml(+list.get(i).get(value)+);然后textview.appand(s);1.2设置让TextView能够自动滚动对于设置了滚动条而无法自动滚动的问题:在你要自动滚动的地方,比如说一个Button监听里面,加入下面这段代码即可:scrollview.post(new Runnable() public void run() scrollview.scrollTo(linearlayout.getWidth(), linearlayout.getHeight(););其中scrollview是我们的ScrollView,而linearlayout是在ScrollView里层的,这样,随着我们的TextView内容的增加,就可以看到滚动效果了二在EditText和TextView里面显示图片2.1在EditText里面显示图片(这里只实现了Drawable文件下的图片)这里跟在一个textview里面显示多种颜色的文字的转换方法一样,也是用到了HTML的转换方法。具体步骤是这样的:首先得声明一个imageGetter,具体声明如下:/生成一个imageGetter对象返回一个DrawableImageGetter imageGetter = new ImageGetter() public Drawable getDrawable(String source) int id = Integer.parseInt(source);Drawable d = getResources().getDrawable(id);d.setBounds(0, 0, d.getIntrinsicWidth(),d.getIntrinsicHeight();return d;然后当我们点击了某张图片后,获得相应的ID,(这些图片是保存在Drawable下了,所有图片的ID都放在了一个Integer数组里面)。获得ID后就将其转换为HTML格式的:CharSequence cs = Html.fromHtml(,imageGetter,null);其中mThumbIds就是存放图片ID的数组,imageGetter就是我们一开始声明的。接下来就可以在EditText里面显示了:edittext.append(cs);2.2在TextView里面显示图片(目前只实现Drawable下的图片)上面我们已经实现了在EditText里面显示图片了,接下来就可以发送到TextView里面来显示了。不过可不是简单的edittext.getText()就可以。直接get到的内容可能会带有文字。这时候如果将文字和图片一起处理肯定是不行的,因此我们就会想应该怎样将文字和图片分开来解析。我的想法是既然要分别解析就应该知道图片的位置,这样分别将文字和图片转换为HTML格式就可以正常显示了。但这样的一个缺点就是如果有多张图片一起发送的时候就很难实现了,毕竟图片位置和张数不确定。还有一种思想就是像QQ一样的,在EditText里面显示的时候就在后台将对应的图片用一个字符串代替,显示的时候在将对应的字符串转换为相应的图片来显示。这种想法好是好,不过实现起来很难。暂时我还实现不来。2.3 从sdcard读取图片并显示这里首先要找到sdcard目录,在sdcard目录下搜寻以jpg、png、gif结尾的文件。当然你也可以直接指定图片存放的具体目录,就不用搜寻了。找到图片后返回图片的路径。存放在一个数组里面。利用下面的方法转换:先通过路径找到图片赋值为一个Bitmap然后在转换为一个BitmapDrawableBitmap mybitmap = BitmapFactory.decodeFile(filenames.get(arg2); bitmapdrawable = new BitmapDrawable(mybitmap);其中filenames.get(arg2)就是一张图片的路径,bitmapdrawable就是一个BitmapDrawable.接下来这里要注意了:我们这里不再是通过一个具体的Id来获得一个Drawable,现在可以直接将得到的bitmapdrawable赋值过去就可以。ImageGetter imageGetter = new ImageGetter() public Drawable getDrawable(String source) Drawable d = bitmapdrawable
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司财政资金管理制度
- 广东省广州市2023−2024学年高二下册期末考试数学试卷附解析
- 2024~2025学年 浙江省四校联考高一语文上册10月月考试卷附答案
- 专题三 联邦制、两党制、三权分立:以美国为例测试题
- 家庭大扫除工作表现评语
- 个人退税申请书范文
- 金华永康市国有企业招聘笔试真题2024
- 社区社区服务设施规划与设计管理基础知识点归纳
- 历史建筑群保护社区老年规划基础知识点归纳
- 《商业地产规划设计与管控及万达经验借鉴》
- 2025湖北省安全员考试题库附答案
- 2024年吉林省中考满分作文《情味浸润的时光》2
- 见证取样送检计划方案
- 石油工程领域实习报告模板
- 2025(统编版)语文二年级下册第六单元解析+任务目标+大单元教学设计
- 建立苗圃基地可行性研究报告
- 安全心理学培训教材
- Unit3《Amazing animals》(说课稿)-2024-2025学年人教PEP版(2024)英语三年级上册(3课时)
- 《直升机介绍》课件
- 施工重难点分析措施
- 丝绸产品市场趋势分析-洞察分析
评论
0/150
提交评论