如何在Edittext Android中取消对所选文本的粗体显示? [英] How to unbold the selected text in Edittext Android?
本文介绍了如何在Edittext Android中取消对所选文本的粗体显示?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用编辑文本来支持粗体,斜体和下划线属性.选择文本并将其设置为粗体后,我获得了成功.现在,我要在单击普通"按钮后删除粗体.
I am working with an edit text to support the properties of bold,italic and underline.I got succeed after selecting the text and make it bold. Now I want to remove the bold after clicking on Normal button.
Typeface.NORMAL 在这里不起作用.谁能建议其他选择.
Typeface.NORMAL is not working at here. Can any one suggest other option.
Button btnBold = (Button) findViewById(R.id.btnBold);
btnBold.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startSelection = etx.getSelectionStart();
endSelection = etx.getSelectionEnd();
Spannable s = etx.getText();
s.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startSelection, endSelection, 0);
}
});
Button btnNormal = (Button) findViewById(R.id.btnNormal );
btnNormal .setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
**//What I have to do here.**
}
});
推荐答案
Button btnNormal = (Button) findViewById(R.id.btnNormal );
btnNormal .setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Spannable str = etx.getText();
StyleSpan[] ss = str.getSpans(selectionStart, selectionEnd, StyleSpan.class);
for (int i = 0; i < ss.length; i++) {
if (ss[i].getStyle() == android.graphics.Typeface.BOLD){
str.removeSpan(ss[i]);
}
}
etx.setText(str);
}
});
这篇关于如何在Edittext Android中取消对所选文本的粗体显示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文