データベースから引き出された内容に応じてEditTextボックスを動的に作成します。Android EditText +一部の単語を色で設定する
e。
final EditText textV = new EditText(this);
textV.setText(monEntry);
は、部分文字列を使用せずに別の色にのEditTextのテキストと別のビットのいくつかを設定することがとにかくありますか()? 誰かが助けることができればありがとう!
データベースから引き出された内容に応じてEditTextボックスを動的に作成します。Android EditText +一部の単語を色で設定する
e。
final EditText textV = new EditText(this);
textV.setText(monEntry);
は、部分文字列を使用せずに別の色にのEditTextのテキストと別のビットのいくつかを設定することがとにかくありますか()? 誰かが助けることができればありがとう!
はい、SpannableStringを使用している場合、テキストのさまざまな場所で色を変えることができます。例:
SpannableString text = new SpannableString("Lorem ipsum dolor sit amet");
final EditText textV = new EditText(this);
// make "Lorem" (characters 0 to 5) red
textV.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);
textV.setText(text, BufferType.SPANNABLE);
またはあなたが以下のようにHTMLコードを使用することができます::
textV.setText(Html.fromHtml(html text having 1 in red 2 in green and so on));
より完全な例hereがあります。
のJavadoc SpannableString
public class MainActivity extends Activity implements TextWatcher {
EditText txt1,txt2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt1=(EditText) findViewById(R.id.editText1);
txt2=(EditText) findViewById(R.id.editText2);
txt2.setText(getResources().getString(R.string.str));
txt1.addTextChangedListener(this);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
String string = getResources().getString(R.string.str);
// String string1=string.toLowerCase();
try{
String withHighLightedText = string.replaceAll(s.toString(), "<font color='yellow'>"+s.toString()+"</font>");
txt2.setText(Html.fromHtml(withHighLightedText), TextView.BufferType.SPANNABLE);
}catch(Exception ex){
}
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
}
Thanx @ user3585230それは私のために働く! –
助けてくれてありがとうのために! – matt