文档章节

在TextView或者EditView中添加图片

yizhihaohut
 yizhihaohut
发布于 2013/09/12 12:52
字数 211
阅读 311
收藏 0

因为EditView是继承TextView的所以TextView中能实现图片添加,那么EditView也能轻易的实现

 

private void initView() {
        editText = (EditText) findViewById(R.id.edit);
        textView = (TextView) findViewById(R.id.textView);
        textView.setText("");

        //从drawable资源中获取随机图片资源
        SpannableString ssb= RandomBitmap();
        editText.append(ssb != null ? ssb : "");
        ssb = RandomBitmap();
        textView.append(ssb != null ? ssb : "");
    }
    
    public SpannableString RandomBitmap(){
        try {

            //有12张图片
            final int randomInt = (int) (Math.random()*12);
            Field fields = R.drawable.class.getDeclaredField("autobbs_face1");
            final int resourceId = fields.getInt(null) + randomInt;
            ImageSpan imageSpan = new ImageSpan(this, 
                    resourceId != -1 ? resourceId : R.drawable.ic_launcher);
            SpannableString ssb = new SpannableString("autobbs");

            //这里的参数0 ,6指的是图片替换的字符的起始和结束位置。

            ssb.setSpan(imageSpan, 0, 6, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
            return ssb;
        } catch (NumberFormatException e) {
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }

 

补充下,Html.fromHmtl(String html)可以j将html代码转化成spanned,而spanned是继承于CharSequence接口的。

所以熟悉js的同学可以在这里施展拳脚了。

© 著作权归作者所有

yizhihaohut
粉丝 7
博文 21
码字总数 19843
作品 0
松江
程序员
私信 提问
Android软件开发之EditText 详解(八)

Android软件开发之EditText 详解 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6629450 EditText在API中的结构 java...

彭博
2012/03/09
165
0
Android软件开发之EditText 详解(八)

Android软件开发之EditText 详解 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6629450 EditText在API中的结构 java...

晨曦之光
2012/03/07
4.7K
0
让TextView显示的文字一跑马灯显示属性设置

<TextView 一定要设置单行显示 android:singleLine="true" , android:ellipsize="marquee"就是跑马灯属性,android:marqueeRepeatLimit="marquee_forever"为一直都是滚动模式 Activity里面还......

放纵的青春
2015/07/03
0
0
Android EditText

EditText继承关系:View-->TextView-->EditText   EditText的属性很多,这里介绍几个: android:hint="请输入数字!"//设置显示在空间上的提示信息 android:numeric="integer"//设置只能输......

amigos_wu
2012/06/20
0
0
04_Android框架及关键组件实验【图解】

作者:孔祥辉 一、实验内容 任务(1) – 设计一个应用程序 – 视图中包含一个按钮 – 当单击按钮后 • 弹出一个提示框 • 将按钮的背景颜色变为蓝色 • 按钮中的文字变为红色。 任务(2) ...

晨曦之光
2012/03/14
208
0

没有更多内容

加载失败,请刷新页面

加载更多

Java中print、printf、println的区别

printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和print基本没什么差别,就是最后会换行

hellation_
23分钟前
0
0
spring在静态类中注入bean的的解释

@Componentpublic class ModelMapper {@AutoWiredprivate static AssignmentManager assignmentManager;public static void add(){a+b;}} 静态方法是属于类的,普通方法才属于...

无知的小狼
23分钟前
2
0
分而治之-归并排序

如果有1个数组,数组的左半部分和右半部分都已经排好序,如何将该数组合成1个有序的数组? 开辟1个同样大小的临时空间辅助我们完成归并过程,如下图 k:表示归并过程中,当前需要替换的原数组...

万山红遍
38分钟前
2
0
Linux修改时区的正确方法【修改时间,需要修改软连接,靠谱】

CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件 [root@centos7 ~]# ll /etc/localtime lrwxrwxrwx 1 root root 33 Oct 12 11:01 /etc/loca......

Airship
今天
1
0
《Netkiller Spring Cloud 手札》之 Master / Slave 主从数据库数据源配置

5.19.1. Master / Slave 主从数据库数据源配置 5.19.1.1. application.properties spring.datasource.master.driverClassName = com.mysql.cj.jdbc.Driverspring.datasource.master.url=j......

netkiller-
今天
50
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部