Android实现EditText中添加和删除bitmap的方法


本文向大家介绍Android实现EditText中添加和删除bitmap的方法,包括了Android实现EditText中添加和删除bitmap的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Android实现EditText中添加和删除bitmap的方法。分享给大家供大家参考,具体如下:

SpannableString mSpan1 = new SpannableString("1");
/*
* this is add bitmap on edit text
*/
private void displayBitmapOnText(Bitmap thumbnailBitmap) {
if(thumbnailBitmap == null)
return;
    int start = mEditText.getSelectionStart();
    mSpan1.setSpan(new ImageSpan(thumbnailBitmap) , mSpan1.length() - 1, mSpan1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//    mSpan1.toString();
    if(mEditText != null) {
      Editable et = mEditText.getText();
      et.insert(start, mSpan1);
      mEditText.setText(et);
      mEditText.setSelection(start + mSpan1.length());
    }
    mEditText.setLineSpacing(10f, 1f);
}
/*
* this is delete bitmap on edit text
* from end to start
*/
private void deleteEditTextSpan() {
    Spanned s = mEditText.getEditableText();
    ImageSpan[] imageSpan = s.getSpans(0, s.length(), ImageSpan.class); 
    for (int i = imageSpan.length - 1; i >= 0; i--) {
      if(i == imageSpan.length - 1) {
        int start = s.getSpanStart(imageSpan[i]);
        int end = s.getSpanEnd(imageSpan[i]);
        Editable et = mEditText.getText();
        et.delete(start, end);
      }
    }
    mEditText.invalidate();
}

ps:关于删除,网上找了很多都是直接调用软键盘,然后再来删除。这种不是我想要的,这个deleteEditTextSpan() 由一个自定义的按键触发。

更多关于Android组件相关内容感兴趣的读者可查看本站专题:《Android基本组件用法总结》

希望本文所述对大家Android程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#yiidian.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。