ビューとウィジェット

広告
facebookボタン
googleplusボタン
twitterボタン
ダミーボタン
bloggerボタン

アクティビティを作成したら、今度はテキストボックスやボタンなど画面上にどのような部品を配置していきます。

例えばボタンはandroid.widget.Buttonクラスのオブジェクトです。android.widgetパッケージに含まれるクラスでありandroid.view.Viewクラスのサブクラスでもあります。

java.lang.Object
 L android.view.View
     L android.widget.TextView
         L android.widget.Button

また1画面に設置される部品は1つだけとは限りません。複数の部品を配置する場合、部品のレイアウトを行う部品を用意して他の部品を追加するということを行います。レイアウトを行うための部品の一つであるLinearLayoutはandroid.widget.LinearLayoutクラスのオブジェクトです。ボタンと同様にandroid.widgetパッケージに含まれるクラスでありandroid.view.Viewクラスのサブクラスであるandroid.view.ViewGroupのサブクラスでもあります。

java.lang.Object
 L android.view.View
     L android.view.ViewGroup
         L android.widget.LinearLayout

他の部品を追加されるものはandroid.view.ViewGroupクラスのサブクラスとなります。これはレイアウトに関するものに限らずListViewクラスなどもandroid.view.ViewGroupクラスのサブクラスです。

このようにアクティビティに追加する部品の多くはandroid.widgetパッケージに含まれるクラスとなっておりandroid.view.Viewクラスのサブクラスとなっています。よって部品はウィジェットでもありビューでもあります。

ビューをアクティビティに追加

アクティビティに追加できるビューは一つです。例えばボタンを一つ追加したいだけであればandroid.widget.Buttonクラスのオブジェクトを作成してアクティビテイに追加します。

p4-1

複数のビューを追加する場合は、ビューグループを用意してその中にビューを追加します。ビューグループには別のビューグループも追加することができますので最下層のビューグループを頂点にツリー状にビューやビューグループを追加していくことができます。

p4-2

この場合、アクティビティに追加されるビューは最下層のビューグループとなります。

setContentViewメソッド

アクティビティにビューを追加するにはActivityクラスで用意されている「setContentView」メソッドを使います。このメソッドは引数の異なる2つのメソッド(正確には3つ)が用意されています。

一つは各ビューのオブジェクトを作成していき、それを追加する方法のためのメソッドです。そしてもう一つは事前にXMLファイルを使ってビューの構造を定義しておき、そのXMLファイルをアクティビティに設定するためのメソッドとなっています。

どちらも考え方は同じなのですがプログラムの記述方法が大きく異なります。それぞれの記述方法について次のページから順に確認してみます。

( Written by T.buzz.Ikura+ )

Facebook Page