我正在使用一个编辑文本来支持粗体、斜体和下划线的属性。我在选择文本并将其设为粗体后成功了。现在我想在单击“普通”按钮后删除粗体。
Typeface.NORMAL 在这里不起作用。任何人都可以建议其他选择。
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);
}
});
关于android - 如何在 Edittext Android 中取消选中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10714636/