MobileApp > Android? > GUI部品 > 文字
以下2つの文字描画方法を記述
Ⅰ.Text View を使用する方法 ・・・ 用意されたWidgetの部品を利用して文字を配置
Ⅱ.キャンパス上に 文字列を直接描画する方法 ・・・ グラフィックスとして文字を描画
・TextView に setText() をすることで文字表示
・「setText("Hello")」 とするだけ。
・onCreate()で描画する例
・onDraw()で描画する必要は無い
・スクロールはできない。ScrollViewを使う。
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.view.ViewGroup.LayoutParams;
public class Test extends Activity {
@Override public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView test = new TextView(this);
test.setText("Hello World");
setContentView(test);
}
}
参考 : JavaDriveさんのページ
参考 : 雑記帳さんのページ
参考 : Android奔走記 さん
・Canvasの場合、Viewは自分で作成する
・onDraw()時に canvas に drawText()する
package com.chinsan.string2;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
//文字列の表示
public class String2 extends Activity {
//初期化
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(new StringView(this));
}
}
package com.chinsan.string;
import android.content.*;
import android.graphics.*;
import android.view.*;
//文字列の表示
public class StringView extends View {
//コンストラクタ
public StringView(Context context) {
super(context);
setBackgroundColor(Color.WHITE);
}
//描画
@Override
protected void onDraw(Canvas canvas) {
//描画オブジェクトの生成
Paint paint=new Paint();
paint.setAntiAlias(true);
//文字描画
paint.setTextSize(12);
paint.setColor(0xFF000000);
canvas.drawText("画面サイズ:"+getWidth()+"x"+getHeight(),0,30,paint);
}
}
文字の大きさは単位SPでのセットが推奨されている。(解像度に応じて伸縮するため)
また、元々setTextSize() の単位は SPとなっている。
public void setTextSize (float size)
のため、引数はFLOATとなる。FLOATを表す'f'を後ろにつけて
setTextSize (20.0f);
とやる
http://www.javadrive.jp/android/radiobutton/index2.html
http://www.hakkaku.net/articles/20091102-593