#freeze
''[[手机开发指南>手机开发指南]]'' > ''[[Android>Android]]'' > ''[[GUI组件>Android GUI组件]]'' > ''文字''


~
[[戻る>Android GUI部品]]
~

~
*文字表示 [#j81af56a]

  文字表示には、2つの方法あり~
  ①Text View を使用する方法 ・・・ Widget部品的に文字を配置~
  ②キャンパス上に 文字列を直接描画する方法 ・・・ グラフィックスとして文字を描画~
~

  以下2つの文字描画方法を記述~
  Ⅰ.Text View を使用する方法           ・・・  用意されたWidgetの部品を利用して文字を配置~
  Ⅱ.キャンパス上に 文字列を直接描画する方法  ・・・  グラフィックスとして文字を描画~

~
* TextViewで描画 [#r0182c59]

  ・setText() で文字表示を実施~
   setText("Hello");~
** Ⅰ.TextViewで描画 [#r0182c59]

**Text View の属性 [#x81ec76b]
  ・TextView に setText() をすることで文字表示~
  ・「setText("Hello")」 とするだけ。

  [[TextViewの属性>Android TextViewの属性]]
~

**ソース例 [#vfe70546]
***Text View の属性 [#x81ec76b]

   [[TextViewの属性>Android TextViewの属性]]

~

***TextView のソース例 [#vfe70546]
  ・onCreate()で描画する例~
  ・onDraw()で描画する必要は無い~
  ・TextViewではスクロールはできない。ScrollViewを使う。
  ・スクロールはできない。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さんのページ>http://www.javadrive.jp/android/textview/index2.html]]~
   参考 : [[雑記帳さんのページ>http://d.hatena.ne.jp/androidprogram/20100514/1273841754]]~
   参考 : [[Android奔走記 さん>http://weide-dev.blogspot.com/2010/03/textview.html]]~

*Canvasに文字列描画 [#ke34c4ef]
  ・Viewは自分で作成する~
  ・onDraw時に canvas に drawText
~

** ソース [#mfb3b830]
** Ⅱ.Canvasに文字列描画 [#ke34c4ef]
  ・Canvasの場合、Viewは自分で作成する~
  ・onDraw()時に canvas に drawText()する

 package com.chinsan.string;
*** ソース [#mfb3b830]

 package com.chinsan.string2;
 import android.app.Activity;
 import android.os.Bundle;
 import android.view.Window;
 
 //文字列の表示
 public class StringEx extends Activity {
 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);
        
    }
 }



~
*参考 [#w163bc7a]
~
**その他 [#h830ea99]

***文字の大きさ [#a1f39ebc]

 文字の大きさは単位SPでのセットが推奨されている。(解像度に応じて伸縮するため)~

 また、元々setTextSize() の単位は SPとなっている。


 public void setTextSize (float size)
 のため、引数はFLOATとなる。FLOATを表す'f'を後ろにつけて
 setTextSize (20.0f);
 とやる


~

~


**参考 [#w163bc7a]

   http://www.javadrive.jp/android/radiobutton/index2.html~
   http://www.hakkaku.net/articles/20091102-593

~
~
[[戻る>Android GUI部品]]
  ''[[戻る>Android GUI组件]]''


Front page   New List of pages Search Recent changes   Help   RSS of recent changes