发布于 2016-05-21 10:05:31 | 190 次阅读 | 评论: 0 | 来源: 网友投递
Android移动端操作系统
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
这篇文章主要介绍了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() 由一个自定义的按键触发。