我想在输入编辑文本时为文本赋予样式,例如将文本设为粗体或斜体。 我知道如何在 spannable 的帮助下键入和选择部分文本后执行此操作,但我想在键入时执行此操作。 例如,在单击一个粗体按钮后,我输入的所有内容都会变成粗体。 任何人都可以提示我该怎么做吗?
最佳答案
你可以尝试用这样的代码来做到这一点:
TextView textView=(TextView)findViewById(R.id.your_textView_id);
SpannableString spanString = new SpannableString(tempString);
spanString.setSpan(new UnderlineSpan(), 0, spanString.length(), 0);
spanString.setSpan(new StyleSpan(Typeface.BOLD), 0, spanString.length(), 0);
spanString.setSpan(new StyleSpan(Typeface.ITALIC), 0, spanString.length(), 0);
textView.setText(spanString);
您可以在按钮的点击监听器中尝试这些以更改编辑文本内容,然后使其无效
你可以这样做:
((EditText) mView.findViewById(R.id.your_edittext)).addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
通过这个你可以在发短信的任何时候做
关于java - 在 Android EditText 中使用样式(粗体、斜体)编写文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44729883/