このページの本文へ

前へ 1 2 3 4 次へ

これで作れる! Androidのアプリケーション 第3回

アプリケーションの基本となる「アクティビティ」

2010年07月15日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

レイアウトファイルで縦表示、横表示に対応する

 続いてはxmlによるレイアウト表示機能や言語切り替えの機能を体験してみることにしましょう。まずはパッケージエクスプローラーから、resフォルダを選択します。つづいて右クリックメニューから[新規]→[フォルダ]を選択します。表示されたダイアログボックスで上のリストで「res」を、フォルダ名に「layout-land」を指定してフォルダを作ります。

フォルダ作成のダイアログが表示されるので、resを選んでフォルダ名を指定する

 フォルダ名はEclipseやAndroid開発の部分では、大文字小文字が区別されます。ファイル名は原則小文字です。大文字を混ぜるとエラーになることがあります。なので表示のようにすべて小文字としてください。

 作成したlayout-landフォルダを選択し、右クリックメニューから「インポート」を選択します。ダイアログボックスが表示されるので、「インポート・ソースの選択」で「ファイルシステム」を選択して「次へ」ボタンを押し、次の画面で「参照」ボタンを使って、同じSample03プロジェクト内のres/layoutフォルダを選択します。

「インポート・ソース」として「ファイル・システム」を選択し、「次へ」ボタンを押す

 すると、ダイアログの左側にはフォルダ(存在する場合はサブフォルダも)が、右側にファイルのリストが表示されます。ここでmain.xmlを選択します。最後に「終了」ボタンを押せば、layout-landフォルダへ元のmain.xmlがコピーされます。これを書き換えて、横向き表示の場合のレイアウトを作りましょう。

コピー元になるlayoutフォルダを指定したら右側の欄でmain.xmlのチェックボックスをオンにする

 layout-landのmain.xmlをダブルクリックしてエディターで開きます。「Layout」タブをクリックしてGUI編集モードに入ります。

res/layout-landのmain.xmlをダブルクリックして編集を開始する

 ウィンドウ右側のアウトラインで「TextView」を選択し、下で「プロパティー」タブを選択します。ここに表示されているTextViewのプロパティが表示されます。横向き表示のときには少しレイアウトを変えて、メッセージをセンタリングしてみましょう。プロパティで「Gravity」を探して選択します。右側にボタンが表示されるのでこれをクリックします。表示されたダイアログボックスで「Center Horizontal」のチェックボックスをオンにしてOKでダイアログを閉じます。すると、レイアウトでテキストがセンタリングされます。最後にmain.xmlをセーブします。

Gravityとして、「center_horizontal」のチェックボックスをオンにして、OKボタンでダイアログを閉じる

 ついでに日本語にも対応しておきましょう。今度は、resフォルダの下にvalues-jaというフォルダを作り、そこにres/valuesフォルダのstrings.xmlをインポートします。そして、同様にエディタで開いて、app_nameやhelloを日本語に直します。

 では、これを動かしてみましょう。起動直後は前回と同じようにメッセージが表示され、Toastメッセージが表示されます。エミュレーターをctrl+F11などで横向き表示にすると、メッセージがセンタリング表示されました。ホーム画面からメニューキーで[設定]に入り、[言語とキーボード]で、[言語]を[日本語(日本)]や[English]に変更すると、プログラムタイトルやメッセージが切り替わります。

修正したアプリケーションを動かしてみる。言語を日本語にすると、メッセージは日本語となり、画面を横向きにすると、メッセージはセンタリングされて表示される

 このようにxmlファイルを使って、レイアウトや文字列を定義しておくと、プログラムにはまったく手を加えることなく、縦横表示や言語を切り替えることができます。また、日本語で横向き表示などの複雑な指定は不要で、それぞれを単独に作ればよく、言語対応も今回作ったようにフォルダを作って、strings.xmlファイルを書き換えるだけです。

 今回のプロジェクトの内容は以下のリンクをクリックすることでダウンロードできます。

sample03-Project.zip

 このファイルをダウンロードしたら、適当なフォルダへ保存し、中身をフォルダーごと取り出しておきます。これをEclipseで扱えるようにするには、「ファイル」メニューで「新規作成」→「Android Project」を選択し、プロジェクトの新規作成ダイアログで、プロジェクト名を適当に指定したあと、「Content」で「Create project from existing source」を選択します。

ワークスペース外のフォルダを使ってプロジェクトを作るには、新規作成でAndroid Projectを選択したのち、ダイアログで「Create project from existing source」を選択して、元になるフォルダを設定する。あとは通常のAndroid Projectの新規作成と同じ

 すると「Location」が指定できるようになるので、元になるフォルダ(ダウンロードして解凍したもの)をBrowseボタンを使って指定します。あとは、以前説明したプロジェクトの新規作成と同じくBuild Targetなどを指定して「終了」ボタンを押せば、ダウンロードしたファイルを使ってプロジェクトが作られます。


 さて次回は、レイアウトにGUI部品などを配置してその動作を見ていくことにしましょう。

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン