在Android中运行时更改字体颜色

3
我正在使用EditText获取用户输入,但我遇到的问题是我想在运行时更改字体颜色,但在同一EditText中,我能够更改字体类型,但当我更改字体颜色时,它会为整个EditText更改,但我需要仅更改特定文本的颜色。
还有一个问题是,当创建高度大于“fillparent”属性的EditText时,我得到的光标位置在中间,但我希望它始终在顶部,即在开头。
是否有其他可用的小部件可以为我提供两个问题的解决方案?
1个回答

4

可以通过gravity属性控制EditText小部件中文本的对齐方式:

editText.setGravity(Gravity.TOP);

要将标记对象附加到EditText的内容中,您可以使用Editable接口:

EditText editText = (EditText) findViewById(R.id.editview);
SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append("one red word");
builder.setSpan(new ForegroundColorSpan(Color.RED), 4, 7, Spanned.SPAN_COMPOSING);
editText.setText(builder, BufferType.EDITABLE);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接