android editText 插入表情,或者是图片

分类: android 112人阅读 评论(1) 收藏 举报

在android 的editText 中插入表情,其实就是将一个自己定义好的特殊的标示使用图片进行替换:

首先你要自己定义一个类继承EditText 这个类

view plain copy to clipboard print ?
  1. packagecom.work.down;
  2. importandroid.content.Context;
  3. importandroid.graphics.drawable.Drawable;
  4. importandroid.text.Spannable;
  5. importandroid.text.SpannableStringBuilder;
  6. importandroid.text.style.ImageSpan;
  7. importandroid.util.AttributeSet;
  8. importandroid.util.Log;
  9. importandroid.widget.EditText;
  10. publicclassImageViewsextendsEditText{
  11. publicImageViews(Contextcontext){
  12. super(context);
  13. }
  14. publicImageViews(Contextcontext,AttributeSetattrs,intdefStyle){
  15. super(context,attrs,defStyle);
  16. }
  17. publicImageViews(Contextcontext,AttributeSetattrs){
  18. super(context,attrs);
  19. }
  20. publicvoidinsertIntoEdit(intid){
  21. Log.d("wljie","===");
  22. SpannableStringBuilderbuilder=newSpannableStringBuilder(getText().toString());
  23. Drawabledrawable=getResources().getDrawable(id);
  24. drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
  25. ImageSpanimageSpan=newImageSpan(drawable,ImageSpan.ALIGN_BASELINE);
  26. builder.setSpan(imageSpan,getText().length(),getText().length()+"[simle]".length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
  27. setText(builder);
  28. }
  29. }
package com.work.down;import android.content.Context;import android.graphics.drawable.Drawable;import android.text.Spannable;import android.text.SpannableStringBuilder;import android.text.style.ImageSpan;import android.util.AttributeSet;import android.util.Log;import android.widget.EditText;public class ImageViews extends EditText {public ImageViews(Context context) {super(context);}public ImageViews(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}public ImageViews(Context context, AttributeSet attrs) {super(context, attrs);}public void insertIntoEdit(int id){Log.d("wljie","===");SpannableStringBuilder builder = new SpannableStringBuilder(getText().toString());Drawable drawable = getResources().getDrawable(id);drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());ImageSpan imageSpan = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);builder.setSpan(imageSpan, getText().length(),getText().length()+"[simle]".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);setText(builder);}}

然后在mail.xml中写入

view plain copy to clipboard print ?
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent">
  6. <Button
  7. android:id="@+id/button"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:text="click"
  11. />
  12. <com.energysource.szj.embeded.AdView
  13. android:id="@+id/adview_ids"
  14. transparent="true"
  15. debug="true"
  16. android:layout_width="240px"
  17. android:layout_height="38px"
  18. android:layout_marginLeft="0px"
  19. android:layout_marginTop="0px"
  20. />
  21. </LinearLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="click" /> <com.energysource.szj.embeded.AdView android:id="@+id/adview_ids"transparent="true"debug="true"android:layout_width="240px"android:layout_height="38px"android:layout_marginLeft="0px"android:layout_marginTop="0px"/></LinearLayout>

然后才MainActivity.java中

view plain copy to clipboard print ?
  1. ImageViewsimageViews=(ImageViews)findViewById(R.id.image_view);
  2. Log.e("wljie",R.drawable.simle+"++++^_^");
  3. imageViews.insertIntoEdit(R.drawable.simle);

更多相关文章

  1. Android 图片选择器 PictureSelector
  2. Android TextView、EditText显示表情
  3. Android踩坑日记:自定义水平和圆形ProgressBar样式
  4. Android 保存 JNI 层 opencv cvMat 图片
  5. 重写Button实现图片drawableTop和文字一起居中
  6. Android中的文本框,图片以及点击事件的设置
  7. android 图片浏览功能 图片放大缩小 使用 photoview 双击或双指

随机推荐

  1. Android(安卓)Activity 图形化生成简读
  2. Avtivity 知识点,不断更新中
  3. ffplay2 android 版正式公布
  4. Android之JAVASe基础篇-面向对象-类集(十)
  5. Android:使用ViewFlipper实现上下滚动消息
  6. Android设计——Activity和Task的设计思
  7. app测试1--常用adb命令
  8. iOS应用程序生命周期
  9. 添加android系统通知
  10. 【译】Android(安卓)7.0 for Developers