安卓原生 Edittext富文本编辑,支持Html格式字符串转换
来源:互联网 发布:买域名一年多少钱 编辑:程序博客网 时间:2024/06/08 18:40
主要的是监听edittext的addTextChangedListener事件,主要是通过span来改变Edittext字体样式,通过HTML.toHtml方法来吧span转成html格式的字符串。
content.addTextChangedListener(new TextWatcher() {
int istart = -1;int icount = -1;
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// Log.e("count", "START:"+start+"/"+count+"");
istart = start;
icount = count;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// Log.e("before", "START:"+start+"/"+count+"");
// beforeCount = count;
}
@Override
public void afterTextChanged(Editable s) {
// content.onEditorAction(EditorInfo.IME_ACTION_UNSPECIFIED);
// Log.e("after", "START:"+istart+"/"+icount+"");
if (istart != -1 && icount != -1 ) {
int iend = istart + icount;
if (b.isChecked()) {
s.setSpan(new StyleSpan(Typeface.BOLD), istart, iend, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
if (i.isChecked()) {
s.setSpan(new StyleSpan(Typeface.ITALIC), istart, iend, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
if (d.isChecked()) {
s.setSpan(new StrikethroughSpan(), istart, iend, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
if (u.isChecked()) {
s.setSpan(new UnderlineSpan(), istart, iend, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
if (boolImg) {
Drawable d= new BitmapDrawable(pic);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan span = new ImageSpan(d,Comm_Args.UP_FILE_URL+imgurl);
s.setSpan(span, istart, iend, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
boolImg = false;
}
if (frontColor != -1) {
s.setSpan(new BackgroundColorSpan(frontColor), istart, iend, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// frontColor = -1;
}
if (backColor != -1) {
s.setSpan(new ForegroundColorSpan(backColor), istart, iend, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// backColor = -1;
}
if (size != -1) {
s.setSpan(new AbsoluteSizeSpan(10+size*5,true), istart, iend, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
istart = -1; icount = -1;
}
data=TextType.removeHtml(Html.toHtml(s));
// Html.f
((TextView)findViewById(R.id.mabi)).setText(data);
}
});
0 0
- 安卓原生 Edittext富文本编辑,支持Html格式字符串转换
- 安卓字符串格式转换
- html 富文本编辑(WYSIWYG)
- Android实现EditText的富文本编辑
- ASP.NET中的富文本编辑控件(html文本编辑控件)整理
- iOS通过html模版实现富文本编辑
- 富文本编辑
- 安卓原生支持MVVM模式DataBinding
- java 富文本编辑内容去除格式 正则表达式
- java 富文本编辑内容去除格式 正则表达式
- JQuery Validate & 富文本编辑
- ios富文本编辑
- bootstrap富文本编辑
- IOS之富文本编辑
- JavaScript笔记:富文本编辑
- css-富文本编辑显示
- summernote富文本编辑框
- javascript中的富文本编辑
- request.getScheme()的使用方法
- Linux 挂载概念 理解
- 理解Javascript_12_执行模型浅析
- 协议森林05 我尽力 (IP协议详解)
- Spring 的事务管理(编程式和声明式)
- 安卓原生 Edittext富文本编辑,支持Html格式字符串转换
- integer类型数据的比较
- Generalized Low Rank Approximation of Matrices
- org.springframework.web.context.request.RequestContextListener
- html5获取本地文件
- web作用域
- WebApp登陆页面设计
- PB中 把DW导出到Excel,与Excel通讯
- SpringMvc 服务端发布json数据+android客户端解析json数据