首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多色编辑文本提示

多色编辑文本提示
EN

Stack Overflow用户
提问于 2016-10-25 20:07:52
回答 4查看 1.2K关注 0票数 4

当被android.support.design.widget.TextInputLayout包装时,有没有办法在不影响浮动编辑文本的行为的情况下,为编辑文本的提示设置多种颜色?

比如,标题*

标题和*具有不同的颜色提示

EN

回答 4

Stack Overflow用户

发布于 2019-04-03 18:58:59

尝尝这个!如果你想在setText中使用它,只需添加BufferType.SPANNABLE (如下所示)

代码语言:javascript
复制
    String redPart = "Hello";
    String bluePart = "World";

    SpannableStringBuilder builder = new SpannableStringBuilder();

    SpannableString redColoredString= new SpannableString(redPart);
    redColoredString.setSpan(new ForegroundColorSpan(Color.RED), 0, redPart.length(), 0);
    builder.append(redColoredString);

    SpannableString blueColoredString= new SpannableString(bluePart);
    blueColoredString.setSpan(new ForegroundColorSpan(Color.BLUE), 0, bluePart.length(), 0);
    builder.append(blueColoredString);


    myEditText.setHint(builder)

    //do following for setText
    myEditText.setText(builder,BufferType.SPANNABLE)
票数 3
EN

Stack Overflow用户

发布于 2016-10-25 20:31:58

使用SpannableString类,它允许你在字符串的不同部分使用不同的样式...如果我没记错的话,TextAppearanceSpan类是用来给文本着色的。

票数 0
EN

Stack Overflow用户

发布于 2016-10-25 20:39:00

请看下面的代码,这是我的工作。

代码语言:javascript
复制
 EditText editText = (EditText) findViewById(textView);
 Spannable wordtoSpan = new SpannableString("Hello world");

 wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 2, 6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

 editText.setHint(wordtoSpan);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40239555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档