--/--/-- (--) スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 |


2011/08/12 (Fri) Androidプログラミング編 その3 レイアウトの定義(XMLとJavaコード)

20110812-002011.jpg

ボタンやテキストボックスといったAndroidの画面を構成するウィジェットは全て「android.view.View」を継承したクラスとして定義されています。よって全てのウィジェットはViewとして扱うことができます。

ウィジェットの定義方法は2通り。

XMLで定義する。
Javaコードで定義する。

基本的にXMLで定義する方が分かりやすいしコードもスッキリします。XMLの方がメンテナンスも容易です。ただし、XMLで記述したレイアウトファイルはコンパイル時に読み込まれるため、アプリケーション実行中に動的に画面レイアウトを変更したい場合はコードに直接書かなければなりません。

XMLで定義した場合

XMLファイル

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView" />
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>

Javaファイル

package com.kononushi.android.widget;

import android.app.Activity;
import android.os.Bundle;

public class WidgettestActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

①と同じ内容をJavaコードで定義した場合

package com.kononushi.android.widget;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

public class WidgettestActivity extends Activity {

//フィールド(レイアウトとウィジェット)
LinearLayout layout;
TextView tv;
Button b;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //リニアレイアウトを作成
        layout = new LinearLayout(this);

        //テキストビューを作成し文字列を格納
        tv = new TextView(this);
        tv.setText("TextView");

        //ボタンを作成し文字列を格納
        b = new Button(this);
        b.setText("Button");

        //ウィジェットが並ぶ方向を指定(垂直方向)
        layout.setOrientation(LinearLayout.VERTICAL);

        //レイアウトにウィジェットを格納
        //同時にウィジェットの属性(ここでは縦と横の長さ)を指定
        layout.addView(tv , new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.WRAP_CONTENT,
        LinearLayout.LayoutParams.WRAP_CONTENT));
        layout.addView(b , new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.WRAP_CONTENT,
        LinearLayout.LayoutParams.WRAP_CONTENT));

        //レイアウトを表示
        setContentView(layout);
    }
}

プログラミング | trackback(0) | comment(0) |


<<ファイナルファンタジー零式~ナツビ~プレイメモ | TOP | 成金 ~Ginza Street~>>

comment











管理人のみ閲覧OK


trackback

trackback_url
http://kononushi.blog46.fc2.com/tb.php/551-aa54cd11

| TOP |

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。