Android Viewとは(ViewとViewGroupの関係性)

Androidアプリケーションの画面は、Viewと呼ばれるUI部品が組み合わさって作られています。
画面のレイアウトを構成するものや、テキストボックスやボタンなど、これらはすべてViewに属します。

Androidアプリ開発では、主に以下の2種類のViewを使用します。
■ViewGroup:複数のViewを含むことができ、配置(レイアウト)を管理できるクラス
■View:TextViewクラスやButtonクラスなどの単一のViewクラスで、Viewを含むことはできない

イメージに示すと以下のようになります。

ViewGroup-info

☆イメージの解説
LinearLayoutクラスはViewGroupに属するクラスで、
内包するViewを縦一列に並べたり、横一列に並べて表示することができます。

LinearLayoutの中に2つのLinearLayoutを含み、縦一列に表示しています。
含まれている1つ目のLinearLayoutでは、ボタン(View)を横一列に並べて表示しています。
含まれている2つ目のLinearLayoutでは、
TextView、ImageView、WebViewなどのViewを縦一列に表示しています。

イメージのあるように、ViewGroupにViewGroupを含むことも可能です。
※ViewGroupもViewクラスに属するため、Viewとして扱われます。

このようにして、ViewGroupで複数のViewを内包してレイアウトを定義していきます。

ViewGroupについて

それでは、ViewGorupにはどのようなViewがあるのか見ていきます。
よく使用されるViewGorupでは、以下のようなものがあります。

●LinearLayout:縦または横に内部のビューを配置する
●TableLayout:表形式で内部のビューを配置する
●AbsoluteLayout:表示位置を絶対座標で指定して配置する
●RelativeLayout:他のビューとの位置関係を元に位置を決めて配置する
●GridLayout:内部のビューを行数と列数の格子状に分割して配置する
●FrameLayout:内部のビューを重ねて配置する(表示位置の指定はできない)

クラス名の後ろに「Layout」という単語が付与されている通り、
これらはレイアウトを管理するViewです。
内包したViewを、それぞれのルールに従ってアプリ画面へ表示させることができます。
ちなみに、最も良く使用されるのは、解説でも登場した「LinearLayout」です。

Viewについて

次に、レイアウトの中に配置するViewを見ていきたいと思います。
「widget(ウィジット)」と呼ばれるViewで、
冒頭のイメージ解説で登場した、TextViewやButton、ImageView、WebViewはこのwidgetに当たります。
実際にユーザが操作した情報を取得することができます。
.NETのWindowsFormプロジェクトなどのご経験がある方は、イメージしやすいと思います。

ただ、混在してはいけないのが、上記で紹介したViewGroupもあくまでwedgetの一種だということです。
内部に複数のViewを含み、レイアウトを決める機能を持ったwidgetだと思えば、
分かりやすいかもしれません。

以下のようなものがあります。
(wedgetはものすごくたくさんあるため、一部のみご紹介)

●TextView:テキストボックス
●Button:ボタン
●CheckBox:チェックボックス
●RadioButton:ラジオボタン
●ProgressBar:処理待機(グルグル回るアイコン)
●ImageView:任意のイメージ画像を表示

他にどのようなwidgetがあるか調べたい方は、こちらから探してみてください。
Androidリファレンス android.widget

それでは、次回より、実際にViewを使用して画面を作成していきます。

コメントを残す




Menu

HOME

 TOP