android 显示表情 (二)

原创 2012年03月27日 11:40:03

还有就是把图片插入到EditText中去。

代码如下:

    /**
     * 
     * 把表情插入到输入框中去
      * 
     * @param key
     * 
     *          点击头像真实代表的值
      *          
     * @see insertImage
     */
    public void insertImage(String key)
    {
        // 将随机获得的图像追加到EditText控件的最后
        int location = textEdit.getSelectionStart();
        //获取EditText的文字  
        Editable edit = textEdit.getEditableText();
        SpannableString spannable = getImageValue(key);
        if (location < 0 || location >= edit.length())
        {
            edit.append(spannable);
        }
        else
        {
            //光标所在位置插入文字   
            edit.insert(location, spannable);
        }
        layout_face.setVisibility(View.GONE);
        textEdit.clearFocus();
    }

getImageValue方法和上面插入到TextView中去的方法差不多,如下:

    /**
     * 
     * 把表情插入到输入框中去
      * 
     * @param key
     * 
     *          点击头像真实代表的值
      *          
     * @see getImageValue
     */
    public SpannableString getImageValue(String key)
    {
        try
        {
            String imageId = BootApp.getImageMap().get(key);
            //  根据随机产生的1至9的整数从R.drawable类中获得相应资源ID(静态变量)的Field对象
            Field field = R.drawable.class.getDeclaredField(imageId);
            //  获得资源ID的值,也就是静态变量的值
            int resourceId = Integer.parseInt(field.get(null).toString());
            //  根据资源ID获得资源图像的Bitmap对象
            Bitmap bitmap = BitmapFactory.decodeResource(Global.getContext().getResources(), resourceId);
            //  根据Bitmap对象创建ImageSpan对象
            ImageSpan imageSpan = new ImageSpan(Global.getContext(), bitmap);
            //  创建一个SpannableString对象,以便插入用ImageSpan对象封装的图像
            SpannableString spannableString = new SpannableString(key);
            //  用ImageSpan对象替换face
            spannableString.setSpan(imageSpan, 0, key.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            return spannableString;
        }
        catch (Exception e)
        {
            e.printStackTrace();
            Log.e("onClick_RandomFace", "Insert into image is error......");
        }
        return null;
    }

android如果重写onDraw实现一个类似TextView可以显示表情和链接的控件(二)

下面来写IntroView的onMeasureHeight: private int measureHeight(int measureSpec) { int result = 0; ...

Android之UI学习篇二:TextVeiw显示表情和跑马灯效果

给大家先看一下效果吧: 几秒后(文字在向左跑动): 以上就是实现图片和文字混排、文字跑马灯的效果实现,接下来看一下代码如何实现吧: MainActivity.java ...

Android 仿QQ表情(输入和显示)

  • 2016年03月27日 00:46
  • 2.5MB
  • 下载

Android TextView显示表情、标签、超链接

Android TextView显示表情图片、标签、超链接因为项目需求,要在用户发布动态的时候可以打上标签,超链接,还有图片标签,本来不打算写这篇博客,在查阅资料的时候我发现网上的博客都是类似的,大家...

Android:完美解决 — 表情键盘与输入法键盘显示冲突方案

在做发帖功能的时候,一般都会用到表情,当在输入法键盘显示的情况下,点击显示表情键盘的按钮,如果只是简单的setVisibility,同时隐藏输入法,这时表情键盘会被往上弹出,这个效果就让使用体验不太友...

QQ聊天之Android显示Gif ——在TextView中添加动态表情

好久没有对这一系列进行更新了,不知道各位亲的Android功力有没有更上一层楼?本来并没有打算在这段时间发表新的博客,但是由于这一两天找到了一个能够让Android上显示Gif图片的方法,这样一来,寒...

Android 解析微信基础表情并显示

先贴一个链接http://blog.csdn.net/u011002668/article/details/50896586 自己根据需求去更改. 先不看代码,先说一下原理,把原理弄明白了,再看代码就...

Android开发(16)-TextView显示表情图像和文字

从这个案例中我们可以学到当我们美化图片美化界面的时候可以在某一区域输入图片和文字混搭信息,第三张图片按比例缩小,第四张图像有超链接 布局文件 [html] view plainco...
  • ppaudio
  • ppaudio
  • 2013年07月03日 17:29
  • 342

Android 显示输入法中的emoji表情以及String字符串转码

实现用原生键盘输入表情并显示,有两种办法: 发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unicode编码字符串转化为String字符串 发送时将String字符串转换...

Android开发(16)-TextView显示表情图像和文字

从这个案例中我们可以学到当我们美化图片美化界面的时候可以在某一区域输入图片和文字混搭信息,第三张图片按比例缩小,第四张图像有超链接 布局文件 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 显示表情 (二)
举报原因:
原因补充:

(最多只允许输入30个字)