- 在edittext中,有时候需要动态改变文字效果,类似于一个文本编辑器中,你需要设置接下
来输入的字符是斜体,加粗,删除线等等,这时候直接对edittext是实例对象进行设置肯定是
行不通的,因为这样会使整个的文字效果发生改变。
- 这时候,我们应该新建一个EditChangedListener类来实现的TextWatcher接口中的方法来监听edittext的输入,然后进行动态的文字效果设置。
代码如下:
class EditChangedListener implements TextWatcher {
int length; //改变钱文本的长度
int startPosition; //开始的位置
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
length = s.length();
}
@Override
public void afterTextChanged(Editable s) {
if (s.toString().length() > length && s.toString().length() > 0) {
startPosition = mEtContent.getSelectionStart() - 1;
//设置加粗
if (mIbJiacu.getTag().equals("yes")) {
s.setSpan(new android