Androidプログラマへの道 〜 Moonlight 明日香 〜 - 部分的に文字の色をかえる
テキストビューやボタンなどの文字色を部分的に変更するには, Htmlクラスを使用する.
以下では, テキストビューとボタンの文字色を部分的に変更しているが, 他のビューなど文字列を扱うウィジェットでは同様に文字色を変更できると思う.



HTML表記で記述

    • 文字の色をかえたい部分を<font color=xxxx>〜</font>を使って記述する.
    • Html#fromHtmlメソッドの戻り値を, テキストビューやボタンなどのsetTextメソッドの引数として渡す.
package com.moonlight_aska.android.charcolor02;

import android.app.Activity;
import android.os.Bundle;
import android.text.Html;
import android.widget.Button;
import android.widget.TextView;

public class CharColor02 extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    // テキストビューに表示
    TextView text = (TextView)findViewById(R.id.textview_id);
    String txtStr = "This is a <font color=#ff0000>TextView</font> sample.";
    text.setText(Html.fromHtml(txtStr));
    // ボタンに表示
    Button btn = (Button)findViewById(R.id.button_id);
    String btnStr = "<font color=blue>青</font>ボタン";
    btn.setText(Html.fromHtml(btnStr));
  }
}