≪ 2017. 06 12345678910111213141516171819202122232425262728293031 2017. 08 ≫
Android(アンドロイド)アプリ入門ブログ > スポンサー広告 > 動的な Android GUI の作成方法Android(アンドロイド)アプリ入門ブログ > プロジェクト作成 > 動的な Android GUI の作成方法

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--. --. --. (--) --:--  [スポンサー広告コメント:-  トラックバック:-

動的な Android GUI の作成方法 

今回は動的なAndroid GUIの作成方法を紹介したいと思います。
動的なAndroid GUIの作成はプログラム内でボタン等を生成することで、
アプリの動作の状況に応じてGUIを追加・変更したい場合に有効な手段となります。


動的な Android GUI の作成方法


今回はクリックすると文字が変化するボタンを動的に追加したいと思います。
以下サンプルソースです。

package パッケージ名;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;<
import android.widget.LinearLayout;

public class アクティビティクラス名 extends Activity {

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        /* レイアウトを作成する */
        LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(LinearLayout.VERTICAL);

        /* アクティビティにビューをレイアウトをセットする */
        setContentView(layout);

        /* ボタンを作成する */
        Button btn = new Button(this);
        btn.setText("動的に作成したボタン");

        /* ボタンクリックリスナークラスを作って登録する */
        ClickListener listener = new ClickListener();
        btn.setOnClickListener(listener);
/* レイアウトにボタンを登録する */ layout.addView(btn); } class ClickListener implements OnClickListener { @Override public void onClick(View v) { Button b = (Button)v; b.setText("ボタンが押されました"); } }; }

解説

パッケージ名とアクティビティクラス名にはそれぞれ、自分が作成したプロジェクト内の名前を使用してください。
まずAndroid GUIを表現するにはレイアウトという枠が必要となるので

LinearLayout layout = new LinearLayout(this);

で作成しています。

layout.setOrientation(LinearLayout.VERTICAL);

はコントロールを縦に並べるという値をセットしています。

setContentView(layout);

でこのレイアウトをアクティビティに関連付けます。

Button btn = new Button(this);

でボタンを作成しています。この部分を

TextView txt = new TextView(this);

等他のコントロールにすることでボタン以外のコントロールを作成することができます。
ClickListener listener = new ClickListener();
btn.setOnClickListener(listener);

クリックされた時の動作を実装するClickListenerクラスをボタンに登録しています。
ClickListenerクラスは自分で作成したクラスです。

layout.addView(btn);

レイアウトに作成したボタンを追加しています。

class ClickListener implements OnClickListener {
@Override
public void onClick(View v) {
Button b = (Button)v;
b.setText("ボタンが押されました");
}
};

これがボタンが押されたときの内容を実装するためのClickListenerクラスです。
名前はClickListenerではなくても構いません。
OnClickListenerはクリックされたときのメソッドが定義されたインターフェースです。 implementsはクラスにインターフェースを関連付けるために使用します。
implementsでインタフェースを関連付けた場合、インタフェース内で定義されたメソッドの本体を定義する必要があります。
今回の場合はonClickがメソッドです。
onClick内の実装はボタンが押されたときに、ボタンの文字を"ボタンが押されました"と変化するようにしています。


このアプリを実行すると以下のようになります。

動的なGUIの作成1


ボタンをクリックすると・・・


動的なGUIの作成2


これを応用していろいろなコントロールを追加してみてください。
関連記事
2010. 11. 16. (Tue) 20:16  [プロジェクト作成コメント:0  トラックバック:-

コメント














開発環境構築

Androidアプリの仕組み

よくある質問

WiMAX、その他

Xperia X10 mini pro

SoftBankスマートフォン

WiMAX ポケットWiFi


アンドロイドスマートフォン

EM ポケットWifi (イーモバイル)

Google Nexus 7

Nikon Android デジカメ

Android技術者認定試験教科書

Androidスマフォ充電用MicroUSBケーブル

PLANEX Xperia・X06HT HTC Desire対応 充電&データ転送 MicroUSBケーブル ブラック (パソコン接続専用)BN-XperiaPB

モバイル機器用ACアダプタ

PLANEX 「充電万能」 2ポートUSB充電器 ブラック PL-WUCHG01-B Xperia,ウォークマンNW-X1060,X06HT,iPod,iPhone 3G/3GS/4, PSP, DS, DSLite, DSi 対応USB ACアダプタ (海外対応)

リンク

最新記事

カテゴリ

RSSリンクの表示

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