第10回にしてようやく描画開始
前回のHello World!解析から
今回の描画で必要な処理としては
描画用のライブラリをインポートする
TextViewはテキスト用なので、図形用のViewをnewする
図形用のViewに赤い丸を設定する
赤い丸を設定した図形用のViewをsetContentViewで表示する
で赤丸を表示できるのではないかと思っています。
では早速
プロジェクト自体はHello World!プロジェクトを
変更していこうと思います。
描画用のライブラリをインポートする
図形描画用のライブラリとして
android.graphicsがあるようなので
それをインポートします。
import android.graphics;
では、importとできるのは型のみで
android.graphicsではパッケージだから
importできない。のエラー。
予測変換で

の表示
*で型を指定した場合にはそのパッケージ
全ての機能をimportできるような
ことが書いてあったので
import android.graphics.*;
を選択してimport。
使う機能だけ細かく型を指定して
importするのが基本的な使い方なのかなと思いつつ
はじめは区別できないので大きい区分でimportして
進めていくことにします。
これで
は完了したと思われる。
TextViewはテキスト用なので、図形用のViewをnewする
newするとは言ってみたものの
イメージはいまいちつかめていません。
TextViewの場合にはsetTextっていう機能で
Hallo,Androidっていうテキストを設定して
setContentViewするだけで画面に設定した
テキストが表示されるという流れだと思う。
その機能を使うためにTextViewをtvという名前で
newしたのだとすると
今回は赤丸を設定してsetContentViewできるものを
newすればいいのかなとは思うのですが・・・
何をnewすればいいのかさっぱりです
android.graphics.*の中にdrawCircleがあるので
それを使えばいいのだとは思うのですが
使うための何かを根本的に
見失っている気がひしひしと
現在までのソースが以下の通り。
というか、importに追加した以外変化なし。
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.graphics.*;←これ追加しただけ
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
イメージとしてはこうなる予定
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TextView tv = new TextView(this);
↑これのかわりに↓
GraphicView gv = new GraphicView(this);
// tv.setText("Hello, Android");
↑これのかわりに↓
gv.drawCircle(x,y,radium,paint);
// setContentView(tv);
↑するとこれが↓
setContentView(gv);
}
}
すでにGraphicViewが存在しないので破綻
一旦、調べ直してきます

前回のHello World!解析から
今回の描画で必要な処理としては
描画用のライブラリをインポートする
TextViewはテキスト用なので、図形用のViewをnewする
図形用のViewに赤い丸を設定する
赤い丸を設定した図形用のViewをsetContentViewで表示するで赤丸を表示できるのではないかと思っています。
では早速

プロジェクト自体はHello World!プロジェクトを
変更していこうと思います。
描画用のライブラリをインポートする図形描画用のライブラリとして
android.graphicsがあるようなので
それをインポートします。
import android.graphics;
では、importとできるのは型のみで
android.graphicsではパッケージだから
importできない。のエラー。
予測変換で

の表示

*で型を指定した場合にはそのパッケージ
全ての機能をimportできるような
ことが書いてあったので
import android.graphics.*;
を選択してimport。
使う機能だけ細かく型を指定して
importするのが基本的な使い方なのかなと思いつつ
はじめは区別できないので大きい区分でimportして
進めていくことにします。
これで
は完了したと思われる。
TextViewはテキスト用なので、図形用のViewをnewするnewするとは言ってみたものの
イメージはいまいちつかめていません。
TextViewの場合にはsetTextっていう機能で
Hallo,Androidっていうテキストを設定して
setContentViewするだけで画面に設定した
テキストが表示されるという流れだと思う。
その機能を使うためにTextViewをtvという名前で
newしたのだとすると
今回は赤丸を設定してsetContentViewできるものを
newすればいいのかなとは思うのですが・・・
何をnewすればいいのかさっぱりです

android.graphics.*の中にdrawCircleがあるので
それを使えばいいのだとは思うのですが
使うための何かを根本的に
見失っている気がひしひしと

現在までのソースが以下の通り。
というか、importに追加した以外変化なし。
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.graphics.*;←これ追加しただけ
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
イメージとしてはこうなる予定

public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TextView tv = new TextView(this);
↑これのかわりに↓
GraphicView gv = new GraphicView(this);
// tv.setText("Hello, Android");
↑これのかわりに↓
gv.drawCircle(x,y,radium,paint);
// setContentView(tv);
↑するとこれが↓
setContentView(gv);
}
}
すでにGraphicViewが存在しないので破綻

一旦、調べ直してきます
