SSブログ

LinearLayoutで画面を描画してみる[androidアプリ開発]

前回はテキストを表示するのにTextViewクラスを使いました。
はっきり言ってまだまだぜんぜん意味不明だけど、LinearLayoutクラスを使って画面を描画してみよう(´・ω・`)

LinearLayoutクラスは解説を見ると「縦または横方向にビューを配していくレイアウト」って書いてある。とりあえず画面描画のクラスっぽい。

まずはクラスの追加から。

前回のドロイド君プログラムの一部を書き換える。

super.onCreate(savedInstanceState);
LinearLayout screen = new LinearLayout(this);

onCreateクラス以降にLinerLayoutを追加。
変数名?は画面をあらわすscreenとでも定義しておこう。
LinearLayoutに波線が出るのでctrl+スペースでimport。

ちなみにonCreateというのはそこからプログラムの動作がスタートするよというような呪文っぽい。アプリケーション中で一度しか使えないとか(例外があって、強制終了のときに使えるとかなんとか)。

つぎにこのscreenに対して、背景色をしていしてみる。

screen.setBackgroundColor(Color.WHITE);

Colorをimportしろと言ってくるのでインポートする。
Eclipseはこういう入力補助をしてくれるので便利。

で、Viewクラスを追加して四角を描いてみよう。

View box = new View(this);

四角なので名称はBoxに。

box.setBackgroundColor(Color.RED);

色は赤にしよう。

box.setLayoutParams(new LayoutParams(100,100));

サイズも決める。100x100くらいに。

今作ったboxをさっきのscreenに加えてみる。

screen.addView(box);

こんな感じ。

最後にscreenの中身を表示。

setContentView(screen);

実行してみる(´・ω・`)

image03.jpg

わーいできたー(´・ω・`)

今回のソース
package jp.ne.so_net.blog.androp.hellodroid;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;

public class Hellodroid extends Activity {

	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout screen = new LinearLayout(this);  
        screen.setBackgroundColor(Color.WHITE);
        
        View box = new View(this);
        box.setBackgroundColor(Color.RED);
        box.setLayoutParams(new LayoutParams(100,100));
        screen.addView(box);
        
        setContentView(screen);
    }
}


実際にはxmlでレイアウトを作成することがほとんどだし、画面の描画もonDrawを使うそうなのでこんな風にボックスを書いたりすることはまずないみたい。

 


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。