本文实例讲述了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程序设计有所帮助。