我使用Android Studio。我想在同一EditText
中写下彩色文字,如下图所示。我研究过,但我什么都没发现。任何人都可以帮助我吗?
示例输出如下。
这是我的代码。 anaM_LV_BG_text是一个列表视图 name_title和content是edittext renk_koduları_string_text是一个包含html颜色的数组
private void registerClickCallBack_text(){ anaM_LV_BG_renk_text.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(DisplayNote.this, position + 1 + " . seçildi", Toast.LENGTH_SHORT).show();
name_title.setTextColor(Color.parseColor(renk_koduları_string_text[position]));
content.setTextColor(Color.parseColor(renk_koduları_string_text[position]));
SharedPreferences preferences_text = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor_text = preferences_text.edit();
String color_text= renk_koduları_string_text[position];
editor_text.putString("MyColorText",color_text);
editor_text.commit();
}
});
}
答案 0 :(得分:5)
使用SpannableString
EditText editText = (EditText)findViewById(R.id.my_edit_text);
Spannable spannable = new SpannableString("This is a wonderful day");
spannable.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(new ForegroundColorSpan(Color.RED), 5, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
editText.setText(spannable);
答案 1 :(得分:0)
您需要做的就是创建一个带有“ html标记”的字符串,当您将其集成到EditText
时,只需使用此方法:Html.fromHtml()
。< / p>
示例:
String strData = "<b>Hi</b> <i>I am</i> programmer"</br>
myEditText.setText(Html.fromHtml(strData));