Android Studio ではAndroidの設計と開発者のベストプラクティスに沿ったコードテンプレートが用意されており、 美しく機能的なアプリの作成を手助けしてくれます。 テンプレートを使用して、新しいアプリモジュールや個別のアクティビティやその他特定のAndroid プロジェクトのコンポーネントを作成できます。
いくつかのテンプレートでは、ナビゲーションドロワーやログイン画面のような、一般的に使用される初心者用コードが用意されています。 最初にプロジェクトを作成する時や、 既存のプロジェクトに新規アプリモジュールを追加する時や アプリモジュールに新規アクティビティを追加する時に、これのアプリモジュールテンプレートとアクティビティテンプレートの中から選ぶことができます。
アクティビティに加えて、テンプレートを使って、既存にアプリにその他のAndroidプロジェクトコンポーネントを追加することもできます。 これらのテンプレートには、services やfragmentsといったコードコンポーネントと、フォルダーやXML ファイルといった非コードコンポーネントの両方が含まれています。
このページでは、アクティビティのようなAndroidプロジェクトコンポーネントをプロジェクトに追加する方法と、 Android Studioで使用可能なよく使われるアクティビティ・テンプレートについて説明します。 ほとんどのテンプレートはAndroid Support Libraryに依存しており、 マテリアルデザインに基づいたユーザーインタフェース原則が含まれています。
図1。File > Newの順にクリック、もしくは Project ウィンドウを右クリックすることで表示できるテンプレートメニュー。
Android Studioで用意されるテンプレートの一覧は 、絶えず増え続けています。 図1で示すように、Android Studioではテンプレートを Activityや XML ファイルなどの追加するコンポーネントのタイプごとにグループ分けしています。
テンプレートを使った Android プロジェクトコンポーネントを追加するには、Project ウィンドウを使用します。
新たにコンポーネントを追加したいフォルダーを右クリックし、Newを選びます。
クリックしたフォルダーに追加できるコンポーネントに基づき、図1に表示されているようなテンプレートタイプの一覧が表示されます。
追加したいコンポーネントを選ぶと、対応するウィザードウィンドウが表示されて、名前といったコンポーネントの設定情報の入力を求められます。 設定情報を入力した後、Android Studio は新しいコンポーネント用のファイルを作成して開きます。 また、Gradle ビルドを実行してプロジェクトを同期させます。
Android Studio の File > New メニューを使ってAndroid プロジェクトコンポーネントを新規に作成することも出来ますが、 Projectウィンドウで希望するディレクトリに移動すれば正しい階層にコンポーネントを作成できます。
テンプレートの最も一般的な使用法の一つは、既存のアプリモジュールに新規アクティビティを追加することです。 例えば、アプリユーザー用のログイン画面を作成するには、ログインアクティビティ・テンプレートを追加します。
この項目では、携帯アプリとタブレットアプリ用で一般的に使用されるアクティビティ・テンプレートについて説明します。 Android Studio では、 Android Wear・Android TV・Cloud App Engineを含む、様々な異なるタイプのアプリモジュールが用意されています。 アプリモジュールを作成する時に、これら異なるタイプのモジュールを表示することができます。 Google AdMobs Ads やGoogle Mapsのような、API固有のモジュールやアクティビティ用のテンプレートもあります。
以降の携帯・タブレット用テンプレートでは、アカウントへのログインや詳細項目の一覧表示や長文のスクロールといった、特定の使用状況向けのコードコンポーネントが使用できます。 それぞれのテンプレートは、アプリモジュール全体として、または個別のアクティビティとして機能します。
このテンプレートは、アプリバーとフローティングアクションボタンが付いたシンプルなアプリを作成します。 これは一般的に良く使われるUIコンポーネントを提供し、プロジェクトの開始点として動作します。
このテンプレートは以下を含みます:
AppBar
FloatingActionButton
このテンプレートは、空のアクティビティと、シンプルなテキストコンテンツが付いた一つのレイアウトファイルを作成します。 これを使うと、アプリモジュールやアクティビティをゼロから作成できます。
このテンプレートは以下を含みます:
このテンプレートは、メインのフルスクリーンビューと標準のユーザーインタフェース (UI)コントロールを持つビューを切り替えるアプリを作成します。 フルスクリーンビューが既定で、ユーザーは端末の画面をタッチすることで標準ビューを有効化できます。
このテンプレートには以下が含まれます:
AppBar
このテンプレートでは標準のログイン画面を作成します。これのユーザーインタフェースには、Eメールとパスワードを入力する欄、ログインボタンが含まれています。 これはアプリモジュール全体のテンプレートとしてよりも、アクティビティ単体のテンプレートとしてよく使用されます。
このテンプレートには以下が含まれます:
AsyncTask
実装このテンプレートでは、項目の一覧と各項目の詳細を両方表示するアプリを作成します。 一覧画面にある一覧をクリックすると、クリックした項目の詳細画面が開きます。 二つの表示部分のレイアウトは、アプリを実行する端末によって異なります。
このテンプレートには以下が含まれます:
FloatingActionButton
このテンプレートでは navigation drawerメニューの付いた 基本アクティビティ を作成します。 ナビゲーションバーはアプリの左側か右側に展開され、通常のアプリバーと合わせて表示されます。
このテンプレートには以下が含まれます:
DrawerLayout
,
対応するイベントハンドラ、例のメニューオプションが付いた、ナビゲーションドロワー実装AppBar
FloatingActionButton
このテンプレートでは、折りたたみツールバーと長文用スクロールビューが付いたアプリを作成します。 ページをスクロールダウンすると、ヘッダーとして動作しているツールバーは自動的に縮まり、フローティングアクションボタンは非表示になります。
このテンプレートには以下が含まれています:
AppBar
の代わりとなる
折りたたみツールバー
FloatingActionButton
NestedScrollView
に入れるテキストコンテンツ用。このテンプレートでは、アプリの ユーザーの環境設定や設定 を表示するアクティビティを作成します。このアクティビティは PreferenceActivity
クラスを継承して作られており、アプリモジュール全体のテンプレートとしてよりも、アクティビティ単体のテンプレートとしてよく使用されます。
このテンプレートには以下が含まれます:
PreferenceActivity
を継承したアクティビティ
res/xml/
ディレクトリ内にあります)このテンプレートでは、複数の項目、スワイプナビゲーション, アプリバーが付いたアプリを作成します。 各項目はフラグメントで定義され、画面を左右にスワイプすることで移動することができます。
このテンプレートは以下を含みます:
AppBar
FragmentPagerAdapter
を継承して作られ、各項目のフラグメントを作成するアダプターViewPager
インスタンス。各項目間のスワイプを司るレイアウトマネージャーです。