• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=UI の概要
2@jd:body
3
4
5<p>Android アプリのすべてのユーザー インターフェース エレメントは、{@link android.view.View} と {@link android.view.ViewGroup} オブジェクトを使ってビルドされています。
6{@link android.view.View} は、ユーザーが相互操作できる、画面上で何かを描画するオブジェクトです。
7{@link android.view.ViewGroup} は、インターフェースのレイアウトを定義するために、その他の {@link android.view.View}(と {@link android.view.ViewGroup})オブジェクトを保持するオブジェクトです。
8
9</p>
10
11<p>Android では、共通の入力コントロール(ボタンやテキスト フィールドなど)とさまざまなレイアウトモデル(線形レイアウトや相対レイアウトなど)を提供する {@link android.view.View} と {@link android.view.ViewGroup} サブクラスの両方が提供されています。
12
13</p>
14
15
16<h2 id="Layout">ユーザー インターフェースのレイアウト</h2>
17
18<p>アプリの各コンポーネントのユーザー インターフェースは、図 1 のように、{@link
19android.view.View} と {@link android.view.ViewGroup} オブジェクトの階層を使って定義されます。各ビューグループは、子ビューをまとめる非表示のコンテナであり、子ビューは UI の一部を描画する入力コントロールまたはその他のウィジェットです。この階層ツリーは、必要に応じて単純にまたは複雑にすることができますが、パフォーマンスの点では単純な階層ツリーが最適です。
20
21
22
23</p>
24
25<img src="{@docRoot}images/viewgroup.png" alt="" />
26<p class="img-caption"><strong>図 1.</strong> UI レイアウトを定義するビュー階層の図。
27</p>
28
29<p>レイアウトを宣言するには、コードで {@link android.view.View} オブジェクトのインスタンスを作成してツリーのビルドを始めることができますが、レイアウトを定義する最も簡単で効率的な方法は XML ファイルを使用することです。XML では HTML のように、人が見える構造でレイアウトが提供されます。
30
31</p>
32
33<p>ビューの XML 要素名は、それが表す Android クラスによって決まります。<code>&lt;TextView&gt;</code> 要素は UI で {@link android.widget.TextView} ウィジェットを、<code>&lt;LinearLayout&gt;</code> 要素は {@link android.widget.LinearLayout} ビューグループを作成します。
34
35
36 </p>
37
38<p>たとえば、テキストビューとボタンを含む単純な縦レイアウトは次のようになります。</p>
39<pre>
40&lt;?xml version="1.0" encoding="utf-8"?>
41&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
42              android:layout_width="fill_parent"
43              android:layout_height="fill_parent"
44              android:orientation="vertical" >
45    &lt;TextView android:id="@+id/text"
46              android:layout_width="wrap_content"
47              android:layout_height="wrap_content"
48              android:text="I am a TextView" />
49    &lt;Button android:id="@+id/button"
50            android:layout_width="wrap_content"
51            android:layout_height="wrap_content"
52            android:text="I am a Button" />
53&lt;/LinearLayout>
54</pre>
55
56<p>アプリでレイアウト リソースを読み込むとき、Android はレイアウトの各ノードを初期化して、他の動作の定義、オブジェクト状態の照会、レイアウトの変更をするのに使用できるランタイム オブジェクトにします。
57
58</p>
59
60<p>UI レイアウト作成のガイドについては、<a href="declaring-layout.html">XML レイアウト</a>をご覧ください。
61
62
63
64<h2 id="UIComponents">ユーザー インターフェース コンポーネント</h2>
65
66<p>{@link android.view.View} と {@link android.view.ViewGroup} オブジェクトを使用してすべての UI をビルドする必要はありません。
67Android では、コンテンツの定義に必要な標準的な UI レイアウトを提供する複数のアプリ コンポーネントが提供されます。
68これらの各 UI コンポーネントには、それぞれのドキュメントで説明されている固有の API(<a href="{@docRoot}guide/topics/ui/actionbar.html">アクションバー</a>、<a href="{@docRoot}guide/topics/ui/dialogs.html">ダイアログ</a>、<a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">状態通知</a>など)があります。
69</p>
70
71
72