输入文本时,试图将字体颜色应用于EditText中的文本。 但是,那只是非常不一致。 这意味着,如果输入空格,该空格前的文本可能会恢复为默认黑色。 或者,如果将光标放在单词的中央,开始输入整个单词,则不仅输入的文本,颜色也会改变。 大胆,斜体和下划线似乎运作得很好。 怎样才能保证只有我输入的文字受到字体颜色的影响? Android EditText :输入时如何应用前景色跨度?
请参见的大小和颜色注释.
contentedit.addtextchangedlistener (new text watcher ) )。
公共声明xtchanged {
//addstyleastheusertypesifatogglebuttonisenabled
togglebuttonboldbutton=(toggle button ) findviewbyid(r.id.bold );
togglebuttonembutton=(toggle button ) findviewbyid ) r.id.italic;
togglebuttonunderlinebutton=(toggle button ) findviewbyid(r.id.underline );
int position=selection.getselectionstart (contentedit.gettext );
try{
if (位置0 ) {
位置=0;
}
if (位置0 ) {
样式开始位置(if ) }
//用户更改现金定位,reset
定位货币loc1{
//user pasted text
styleStart=cursorLoc;
}
else{
styleStart=position - 1;
}
}
bold button.is checked () ) ) ) )。
style span [ ] ss=s.get spans (style start,position,StyleSpan.class );
for(intI=0; i ss.length; I ) {
if (ss [ I ].get style (==Android.graphics.type face.bold ) {
s.removespan(ss[I];
}
}
s.setspan(newstylespan ) Android.graphics.typeface.bold )、styleStart、position、sp annable.span _ exclusive _ exclusive
}
if(EmButton.ischecked () ) ) }
style span [ ] ss=s.get spans (style start,position,StyleSpan.class );
for(intI=0; i ss.length; I ) {
if (ss [ I ].get style (==Android.graphics.type face.italic ) {
s.removespan(ss[I];
}
}
s.setspan(newstylespan ) Android.graphics.type face.italic )、styleStart、position、spannable.span_exclusive
}
underline button.is checked () ) ) )。
underline span [ ] ss=s.get spans (style start,position,UnderlineSpan.class );
for(intI=0; i ss.length; I ) {
s.removespan(ss[I];
}
s.setspan(newunderlinespan )、styleStart、position、spannable.span_exclusive );
}
//SIZE AND COLOR//
s.setspan (newforegroundcolorspan (m _ color )、position、position、spannable.span_inclusive );
s.setspan (newabsolutesizespan (m _ cursize,true )、position、position、spannable.span_inclusive ) )
}
}
catch(exceptione ) (
//toast.maketext(m_CTX,m_ctx.gets,Toast.LENGTH_LONG ).show );
show message (r.string.note _ warning _ style,m_utils.MSGTYPE_WARNING );
}
cursor loc=selection.getselectionstart (contentedit.gettext () );
}
2013-08-20
Mike6679
1
什么样的人? 这是我一直在寻找答案的东西.
0
你测试的安卓版本是什么? 最小和目标版本?
0
2.2是最小且有针对性的