6

選択したテキストの書式設定を動的に変更したいメモ帳のようなアプリを開発しています (色、フォント スタイルの変更、太字、斜体、下線など)。特定の単語を書式設定するにはどうすればよいですか?

4

2 に答える 2

3

getSelectionStart()andgetSelectionEnd()メソッドを使用して、選択した単語を取得できます。

EditText etx=(EditText)findViewById(R.id.editext);

int startSelection=etx.getSelectionStart();
int endSelection=etx.getSelectionEnd();

String selectedText = etx.getText().substring(startSelection, endSelection);

次に、ボタンのクリック/その他のイベントでSpannableStringBuilderに取得した後、この選択した部分文字列を完全な文字列で使用して、特定の書式設定を適用できます。

テキストをフォーマットするためのコード:

  int startSelection=etx.getSelectionStart();
  int endSelection=etx.getSelectionEnd();

                  final SpannableStringBuilder sb = new SpannableStringBuilder(etx.getText().toString());

                        final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text bold
                        final StyleSpan iss = new StyleSpan(android.graphics.Typeface.ITALIC); // Span to make text italic                                     
                        sb.setSpan(iss, startSelection, endSelection, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
                        sb.setSpan(bss, startSelection, endSelection, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
                        etx.setText(sb);    

参照

于 2012-05-18T09:30:16.790 に答える
0
EditText et1=(EditText)findViewById(R.id.edit);

int startSelection=et.getSelectionStart();
int endSelection=et.getSelectionEnd();

String selectedText = et1.getText().substring(startSelection, endSelection);

このコードがあなたのケースに合うことを願っています

于 2012-05-18T09:30:01.417 に答える