Android實現(xiàn)EditText中添加和刪除bitmap的方法
本文實例講述了Android實現(xiàn)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:關于刪除,網(wǎng)上找了很多都是直接調(diào)用軟鍵盤,然后再來刪除。這種不是我想要的,這個deleteEditTextSpan() 由一個自定義的按鍵觸發(fā)。
更多關于Android組件相關內(nèi)容感興趣的讀者可查看本站專題:《Android基本組件用法總結》
希望本文所述對大家Android程序設計有所幫助。
相關文章
Android開發(fā)中Looper.prepare()和Looper.loop()
Looper用于封裝了android線程中的消息循環(huán),默認情況下一個線程是不存在消息循環(huán)(message loop)的,具體調(diào)用方法大家可以通過本文學習2016-11-11
Android開發(fā)實現(xiàn)ImageView加載攝像頭拍攝的大圖功能
這篇文章主要介紹了Android開發(fā)實現(xiàn)ImageView加載攝像頭拍攝的大圖功能,涉及Android基于ImageView的攝像頭拍攝圖片加載、保存及權限控制等相關操作技巧,需要的朋友可以參考下2017-11-11
Android開發(fā)實現(xiàn)模仿微信小窗口功能【Dialog對話框風格窗口】
這篇文章主要介紹了Android開發(fā)實現(xiàn)模仿微信小窗口功能,結合實例形式分析了Android實現(xiàn)微信風格Dialog對話框窗口相關功能與布局操作技巧,需要的朋友可以參考下2019-03-03

