服务器之家

服务器之家 > 正文

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

时间:2021-05-13 14:02     来源/作者:nosxcy

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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程序设计有所帮助。

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部