Skip to content

Most visited

Recently visited

navigation

UI の概要

Android アプリのすべてのユーザー インターフェース エレメントは、ViewViewGroup オブジェクトを使ってビルドされています。 View は、ユーザーが相互操作できる、画面上で何かを描画するオブジェクトです。 ViewGroup は、インターフェースのレイアウトを定義するために、その他の View(と ViewGroup)オブジェクトを保持するオブジェクトです。

Android では、共通の入力コントロール(ボタンやテキスト フィールドなど)とさまざまなレイアウトモデル(線形レイアウトや相対レイアウトなど)を提供する ViewViewGroup サブクラスの両方が提供されています。

ユーザー インターフェースのレイアウト

アプリの各コンポーネントのユーザー インターフェースは、図 1 のように、ViewViewGroup オブジェクトの階層を使って定義されます。各ビューグループは、子ビューをまとめる非表示のコンテナであり、子ビューは UI の一部を描画する入力コントロールまたはその他のウィジェットです。 この階層ツリーは、必要に応じて単純にまたは複雑にすることができますが、パフォーマンスの点では単純な階層ツリーが最適です。

図 1.UI レイアウトを定義するビュー階層の図。

レイアウトを宣言するには、コードで View オブジェクトのインスタンスを作成してツリーのビルドを始めることができますが、レイアウトを定義する最も簡単で効率的な方法は XML ファイルを使用することです。XML では HTML のように、人が見える構造でレイアウトが提供されます。

ビューの XML 要素名は、それが表す Android クラスによって決まります。<TextView> 要素は UI で TextView ウィジェットを、<LinearLayout> 要素は LinearLayout ビューグループを作成します。

たとえば、テキストビューとボタンを含む単純な縦レイアウトは次のようになります。

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

アプリでレイアウト リソースを読み込むとき、Android はレイアウトの各ノードを初期化して、他の動作の定義、オブジェクト状態の照会、レイアウトの変更をするのに使用できるランタイム オブジェクトにします。

UI レイアウト作成のガイドについては、XML レイアウトをご覧ください。

ユーザー インターフェース コンポーネント

ViewViewGroup オブジェクトを使用してすべての UI をビルドする必要はありません。Android では、コンテンツの定義に必要な標準的な UI レイアウトを提供する複数のアプリ コンポーネントが提供されます。 これらの各 UI コンポーネントには固有の API があり、それぞれを説明したドキュメント(アプリバーの追加ダイアログ状態通知)があります。

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.