android - 如何设置选中的文本粗体?

标签 android

我想将选定的文本设置为 EditText 粗体。

已经可以找出我选择了哪些字符,并且使用 getSelectionStart() 和 getSelectionEnd( ) 我知道位置在哪里。

但我的问题是,我想用按钮将选定的文本设置为粗体,但不知道如何用字符串设置字体粗体(我只知道如何用 EditText).

所以这是我的示例代码:

    fettdruckButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            int selectionStart = fullscreenEdittext.getSelectionStart();
            int selectionEnd = fullscreenEdittext.getSelectionEnd();

            int differenz = selectionEnd - selectionStart;

            String selectedText = fullscreenEdittext.getText().toString().substring(selectionStart, selectionEnd);
            Log.d("selectedText", "selectedText " + selectedText + "|" + selectionStart + "|" + selectionEnd);


            //fullscreenEdittext.setTypeface(null, Typeface.BOLD);

        }
    });

最佳答案

使用 SpannableStringBuilder。

SpannableStringBuilder stringBuilder = (SpannableStringBuilder) fullscreeneditText.getText();
stringBuilder.setSpan(new StyleSpan(Typeface.BOLD), selectionStart, selectionEnd, 0);

请注意,如果您想多次执行此操作,您应该先删除原始跨度。

关于android - 如何设置选中的文本粗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25601741/

相关文章:

android - Flash Builder 中的哪个元素定义 iPhone 应用程序快捷方式名称?

android - 如何在 Android 中以 block 方法停止服务?

android - 在 Adapter 或 Fragment 中为 ContactsContract 设置数据的 MIMETYPE

android - Facebook SDK '4.+'突然引发导入错误,事物显示为红色-Android Studio(2.0)

java - 如何从另一个 Activity 调用 ArrayAdapter 以使用 strings.xml 数组从 ArrayAdapter 中删除项目?

java - 如何实现复杂的动画?

javascript - 服务器上的 meteor 方法未被调用

android - 重现生产中发生的错误 (Android)

android - 运行 Android Studio 时出错

Android:底部导航 View - 更改所选项目的图标