gpt4 book ai didi

Android 如何在 Edittext 中获取选中的单词?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:12:44 25 4
gpt4 key购买 nike

我正在开发一个像记事本这样的应用程序,我想在其中动态更改选定的文本格式(颜色、更改字体样式、粗体、斜体、下划线等)如何设置特定单词的格式?

最佳答案

您可以使用 getSelectionStart()getSelectionEnd() 方法获取所选单词:

EditText etx=(EditText)findViewById(R.id.editext);

int startSelection=etx.getSelectionStart();
int endSelection=etx.getSelectionEnd();

String selectedText = etx.getText().substring(startSelection, endSelection);

然后,您可以在单击按钮/其他事件时将此选定的子字符串 带到SpannableStringBuilder 之后,在完整字符串中应用您的特定格式:

格式化文本的代码:

  int startSelection=etx.getSelectionStart();
int endSelection=etx.getSelectionEnd();

final SpannableStringBuilder sb = new SpannableStringBuilder(etx.getText().toString());

final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text bold
final StyleSpan iss = new StyleSpan(android.graphics.Typeface.ITALIC); // Span to make text italic
sb.setSpan(iss, startSelection, endSelection, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
sb.setSpan(bss, startSelection, endSelection, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
etx.setText(sb);

Reference .

关于Android 如何在 Edittext 中获取选中的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10649920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com