minimize

事業拡大のため、新しい仲間を募集しています。
→詳しくはこちら

View

全てのビュー・レイアウト・Widgetの基底クラスとなっているのが、Viewクラスです。
SWT に似ていますが、レイアウトも View クラスを継承しているのが特徴です。

SWT

View
|-- Layout
`-- Widgets

Android

Layout
`-- View
    `-- Widgets

Widget

ボタンやテキストボックスといった一つのUIコンポーネントを指します。
これも View を継承しています。

UI Event

ボタンを押したりパネルをタッチしたりするイベントを指します。
SWT などと同様、View に EventListener を追加する形で実装します。

Menu

端末の MENU キーを押したときに表示されるメニューです。
Activity の onCreateOptionsMenu() または onCreateContextMenu() を呼び出して作成します。
メニューも UI ですが、開発者はそれを意識する必要はありません。
メニューを作成すれば、Android が自動的にメニューを表示する View を作成してくれます。

メニューは自らイベントを発生します(メニューアイテムをクリックした時など)。
Activity の onOptionsItemSelected() または onContextItemSelected() をオーバーライドすることで
これらのイベントハンドリング処理をカスタマイズできます。

Apadter

データの内容を元に View を生成したいときに使います。

Styles and Themes

Style

特定のビューについて、表示方法をカスタマイズできます。
わかりやすく言えば CSS のようなものです。

res/values/styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="SpecialText">
        <item name="android:textSize">18sp</item>
        <item name="android:textColor">#FF7</item>
    </style>
</resources>

こんな感じでスタイル用の設定ファイルを用意します。
そしたら、このスタイルを適用したい Widget 上で style 属性を設定します。

<TextView android:id="@+id/text"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Hello, I am a TextView"
          style="@style/SpecialText"/>

Theme

UI 全体の表示方法をカスタマイズできます。
最近では Chrome など多くのブラウザでも採用されている、おなじみの単語です。

res/values/themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="CustomTheme">
    <item name="android:windowNoTitle">true</item>
  </style>
</resources>

このようにテーマを定義します。
見てわかるように、Style と同じ要素を使っています。

AndroidManifest.xml

Theme は、Manifest File 上で定義します。

<application android:icon="@drawable/icon" android:label="@string/app_name"
	android:theme="@style/CustomTheme">

Style が特定の View に適用されるのに対し、こちらはアプリケーション全体に適用されます。