2-2. TableLayout TableLayout は任意のビューを表形式で配置したい場合に利用する (HTML の Table に近いイメー ジ ) 2-3. FrameLayout ビューを重ねて表示するためのレイアウト 後から配置した部品が前面に来る仕様となっている 3. まとめ レイア

Similar documents
補足資料 インテントによるアプリケーションとアクティビティの呼出し Android アプリのキモとなるインテントとは何? インテント ( 呼び出し要求 ) とは Android 独自の機能です 簡単にいえばアプリケーションや他のアクティビティを呼び出す機能ですが 他のアプリケーションを機能や扱えるデ

android2.indd

ファイルを直接編集する画面を切り替えることができる. 図 3 標準のレイアウトを削除する (2) グラフィカル レイアウト画面で LinearLayout(Vertical) を追加するパレットウィンドウの レイアウト の中にある LinearLayout(Vertical) をドラッグして, 編集

日 力力 生 行行 入 入 力力 生 用 方

Taro-korattsu.jtd

Prog2_6th

Hello, Android

スライド 1


Prog2_5th

非推奨メソッド等の掲載について

Microsoft Word - Android_DI講座_画面800×1280

Prog2_2nd

mazec テクニカルガイド第5版(Android版)

Prog2_2nd

Microsoft Word - Android_DI講座_画面800×1280

Microsoft Word - Android_DI講座_画面800×1280

Microsoft Word - Android_SQLite講座_画面800×1280

2 // TODO Auto-generated method stub float x = event.getx(); float y = event.gety(); String action = ""; switch(event.getaction()) { case MotionEvent.

そして 取得した OutputStream インスタンスを使い 文字コードは UTF-8 として PrintWriter インスタンスを生成して あとは PrintWriter.append() で書き込みたい文字 列を渡して close() で保存する というだけです ファイルの読込み方法 それで

例題 3-2 ボタンをクリックしたらタイトルバーにテキストを表示します activity_main.xml <LinearLayout xmlns:android=" android:layout_height="

補足資料 キーイベント処理サンプル package jp.co.keyevent; import android.app.activity; import android.os.bundle; import android.view.keyevent; import android.widget.t

1: Android 2 Android 2.1 Android 4 Activity Android Service ContentProvider BroadcastReceiver Activity ( ): Android 1 Android Service ( ): ContentProv


Android revision revision03 Copyright c Daikoku Manabu This tutorial is licensed under a Creative Commons Attribution

Prog2_6th

Prog2_6th

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ

Android View

Android PC OS Linux Android AndroidJava XML Android ipone ipad ipone VS Android ipone OS ios Objective-C Android Java Objective-C Java Java Android An

Prog2_5th

android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:text="go"

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

Taro-twokansu3.jtd

Microsoft Word - 第七週Java講座.docx

テーブルの確認 sqlite>.tables.tables コマンドでデータベース内のテーブル一覧を表示する テーブルスキーマの表示 sqlite>.schema mytable.schema コマンドで指定のテーブルのスキーマを表示できる テーブル出力の整形.explain コマンドを使うと テー

MasterDetailFlow SettingsActivity 2. Android Lint Checks 以前のバージョンよりコンパイルのチェックが厳しくなりました このような厳しいチェックを Android Lint Checks と言います Abdroid プログラミング Bible で

Android osの歴史 1.6から2.3まで携帯のみ 3.0 タブレットのみ 4.0 タブレットで培ったUIなど の技術を携帯でも 使えるとうにと APIなんかが統合された

Android Layout SDK プログラミング マニュアル

Prog2_10th

Java講座

目次 更新履歴... 1 画面設計書の目的... 3 必要な内容... 3 画面一覧... 4 必要な内容... 4 画面遷移... 5 画面レイアウト... 6 入力パラメータ... 7 必要な内容... 7 項目定義... 8 必要な内容... 8 部品の種類... 9 ( 参考 ) 部品指定と

第1章 ビジュアルプログラミング入門

「Android Studioではじめる 簡単Androidアプリ開発」正誤表

イラストでよくわかるAndroidプログラムのつくり方(Web公開用特別編)

プロジェクト毎に名前を指定する ( ここでは AndroidTest) 動作可能な最低バージョン メインターゲットのバージョン すべて設定してクリック チェックを外す クリック

Microsoft Word - A05_AndroidプログラミングJUMP_画面800×1280

Java - Visual Editor

android2.indd

V8.1新規機能紹介記事

作業環境カスタマイズ 機能ガイド(応用編)

Android でサービスしよう! 日本 Android の会 2 月 21 日大阪セミナ- 有山圭二 ( 有限会社シーリス )

日本アンドロイドの会 四国支部 Kickoff ミーティング in ABC2009

Microsoft Word - _Intent.doc

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

Prog2_10th

Prog2_12th

Another Activity オブジェクトは生成されてもいないのである これは 後述の onpause メソッ ドの説明からも明らかである 翻訳 : A の onpause から返ってこない限り B は create されない ため ここで長い処理は行ってはならない 実際にトレースをおこなってみ

1: Preference Display 1 package sample. pref ; 2 3 import android. app. Activity ; 4 import android. content. Intent ; 5 import android. content. Shar

Prog2_9th

データ構造とアルゴリズム論

目次 1 はじめに 利用条件 動作環境 アドインのインストール アドインの操作方法 アドインの実行 Excel CSV の出力 テンプレートの作成 編集 テンプレートのレイアウト変更 特記

第1章 ビジュアルプログラミング入門

目次 概要... 2 フォームレイアウトデザイナー機能の設定... 3 設定したフォームレイアウトデザイナーの確認...14 その他スタイルの設定...15 フォームレイアウトデザイナーをエクスポート...17 フォームレイアウトデザイナーをインポート...18 インポート時の制限事項...19 リ

WebOTXマニュアル

Java 2 - Lesson01

ガイダンス

Donut Cupcake 非 公 開 非 公 開 2. Android4.0 の 留 意 事 項 2-1 Menu キーの 扱 い 端 末 下 部 の Menu Home Back の 各 ハードキーが ディスプレー 上

PowerPoint Presentation

1 インストール JDK を最初にダウンロードしてインストールしておく eclipse はホームフォルダに解凍しておく (Vista 以降の OS では書き込みの権限などがうるさいのでホームフォルダにアプリを

TALON Tips < カレンダー ( 月別 ) の画面を表示する > 株式会社 HOIPOI 第 1.1 版 p. 1

ガイダンス

Eclipse 操作方法 (Servlet/JSP 入門補助テキスト)

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i

玉転がしタブレット端末の特徴の一つとして, センサを使った動作や, 指による画面操作がある. それらを活用して, 図形を動かすアプリの例を示す. 1. プロジェクトを作る Tama アプリケーションを作る,Tama プロジェクトを作る. 図 1 プロジェクト作成 プロジェクトの構成を設定する. 図

< F2D834F838C A815B A CC>

はじめに - マニュアルエディター機能の概要 - Dojoの種類とマニュアルエディター機能解除について マニュアルレイアウトの生成 - マニュアルレイアウトの生成 基本編集 4 - 表紙の挿入 4 - 目次の挿入 5 - 一括変換 6 4 マニュアルビルド 9 4- MS Word 9

< F2D B838A835882CC8CF68EAE2E6A7464>

Java言語 第1回

HCI プログラミング 5 回目ウィンドウに画像を表示してみよう 今日の講義で学ぶ内容 画像の表示 画像のエフェクト 画像のビューポート指定 画像の表示 1 画像を表示してみましょう 画像の表示はクラス ImageView により管理されます ソースファイル名 :Sample5_1.java //

Microsoft PowerPoint - prog03.ppt

Microsoft Word - tutorial3-dbreverse.docx

PowerPoint Presentation

TestDesign for Web

SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

GEC-Java

GUIプログラムⅣ

はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) です Android は 2007 年に Google を中心にした規格団体 Open Handset Alliance から発表され 2008 年から Android

農業・農村基盤図の大字小字コードXML作成 説明書

MyEventHandler actionhandler = new MyEventHandler(); m.addeventhandler(actionevent.any, actionhandler); // レイアウト BorderPane を生成 / 設定します BorderPane bp

Microsoft Word - 原稿編集.doc

Java言語 第1回

26 editor.putint(pref_count_key, executecount); 27 // 変更した Preference を確定させる 28 editor.commit(); 29 } (c) 実行の様子実装して実行した様子を図 1 と図 2 に示す. 一度実行するごとに, カウン

改訂履歴 日付バージョン記載ページ改訂内容 V2.1 - 初版を発行しました V3.1 P5 ドキュメントラベルが新規追加された事を追記 P7 P8 新しくなったラベルのツリー表示説明を追記 新しくなったラベルの作成 削除操作を追記 P9 ラベルのグループ

Microsoft PowerPoint - Tutorial_2_upd.ppt

Prog1_15th

HCI プログラミング 10 回目テキストフィールドとキーイベント 今日の講義で学ぶ内容 テキストフィールドの利用 キーイベントの処理 テキストフィールドの利用 1 テキストフィールドを配置してみましょう テキストフィールドを用いることにより 数値や文字列などのデータ入力が可能になります ソースファ

更新履歴 No 更新箇所版数日付 1 第一版作成 /12/28 2 一部画像差し替え 誤字修正 /02/09 2

Transcription:

1. レイアウトの基本 Android でレイアウトを作成する方法には XML で定義する方法 と プログラム上から作成する方法 の 2 つがある XML で定義する方が読みやすく変更も容易なので 基本的には XML でレイアウトを作成し 動的にレイアウトを変更したい場合にプログラムで記述するのが一般的である 2. レイアウトの種類 ビューを配置するベースとなるレイアウトについて説明する ここで紹介するレイアウト以外にも RelativeLayout( ビュー同士の相対位置で配置 ) AbsoluteLayout( 絶対位置で配置 ) があるのだが ここで説明する 3 つの組み合わせでほとんどのレイアウトが実現できるので この 3 つを覚えておけば十分である ( なお レイアウト画像は Codezine から転載させてもらった ) また レイアウトは入れ子に出来る性質があり 複数のレイアウトを組み合わせる事が可能である 2-1. LinearLayout LinearLayout は任意のビューを縦 / 横方向に直線上に配置するレイアウトである 直線上に並ぶ性 質であるため ビューとビューが重なる事はない 縦方向 ( 左 ) 横方向 ( 右 ) 1

2-2. TableLayout TableLayout は任意のビューを表形式で配置したい場合に利用する (HTML の Table に近いイメー ジ ) 2-3. FrameLayout ビューを重ねて表示するためのレイアウト 後から配置した部品が前面に来る仕様となっている 3. まとめ レイアウトの作成は GUI エディタではなく XML ファイルを直接編集する レイアウトは入れ子に出来るので 複数のレイアウトを組み合わせる事が出来る レイアウトは 3 つだけ覚えておけばよい o LinearLayout 直線上に並べる o TableLayout テーブル上に並べる o FrameLayout ビューとビューを重ねる 2

テーブルレイアウトのサンプル TableLayout は 子を行と列に配置します TableLayout コンテナは 行 列 セルの境界線は表示 しません このテーブルの列の数は セルの数が最も多い行と同じになります テーブルのセルを空 にすることはできますが HTML では可能なセルの結合はできません TableRow オブジェクトは TableLayout の子のビューです ( TableRow はそれぞれそのテーブルの 1 行を定義しています ) それぞれの行は 0 個またはそれより多いセルを持ち さまざまな種類のビューが定義されます ということは 行のセルは ImageView や TextView オブジェクトのような さまざまな View オブジェクトで構成されるかもしれません また それが ViewGroup オブジェクトかもしれません ( 例えば もうひとつの TableLayout をセルとしてネストさせることも可能です ) 以下は 行と列がそれぞれふたつあるレイアウトのサンプルです 隣のスクリーンショットがその結果で セルの境界線は点線で表示しています ( 見れるように追加しました ) <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:stretchcolumns="1"> <TableRow> android:text="@string/table_layout_4_open" android:text="@string/table_layout_4_open_shortcut" 3

</TableRow> android:gravity="right" <TableRow> android:text="@string/table_layout_4_save" android:text="@string/table_layout_4_save_shortcut" android:gravity="right" </TableRow> </TableLayout> 列は隠したり 伸ばして可能な限りスクリーンを埋める設定にしておいたり テーブルがスクリーンに収 まるように 列を強制的に縮む設定にしておくこともできます 詳しくは TableLayout リファレンスの ドキュメントを参照してください 枠線を水平に入れるサンプル <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android " android:layout_height="fill_parent" android:stretchcolumns="1"> <TableRow> android:layout_column="1" 4

android:text="open..." android:text="ctrl-o" android:gravity="right" </TableRow> <TableRow> android:layout_column="1" android:text="save..." android:text="ctrl-s" android:gravity="right" </TableRow> <TableRow> android:layout_column="1" android:text="save As..." android:text="ctrl-shift-s" android:gravity="right" </TableRow> <View android:layout_height="2dip" android:background="#ff909090" /> <TableRow> 5

android:text="x" android:text="import..." </TableRow> <TableRow> android:text="x" android:text="export..." android:text="ctrl-e" android:gravity="right" </TableRow> <View android:layout_height="2dip" android:background="#ff909090" /> <TableRow> android:layout_column="1" android:text="quit" </TableRow> </TableLayout> 6

レイアウトの入れ子設定 概要 LinearLayout を入れ子に設定することにより, 複雑な画面を設計することができるようになります このサンプルは,XML で実現していて,Java ファイルは Eclipse で Android プロジェクトを生成したときに自動生成されるコードから変更しません main.xml を次のように変更します サンプルプログラム <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" 7

android:layout_height="wrap_content"> android:id="@+id/text01" android:text=" テキスト 1" android:textsize="16dip" android:layout_width="100dip" android:layout_height="wrap_content" /> <EditText android:id="@+id/edit01" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_height="fill_parent"> android:id="@+id/text02" android:text=" テキスト 2" android:textsize="16dip" android:layout_width="100dip" android:layout_height="wrap_content" /> <EditText android:id="@+id/edit02" android:layout_height="wrap_content" /> </LinearLayout> 8

</LinearLayout> 実行結果 サンプルプログラムを動作させると, エディットボックスが縦に 2 つ並んだ画面が出力しま す XML ファイルを変更することで, ボタンやチェックボックスを横に並べることもできるよ うになります 親ページスタートページページ一覧ページ履歴最終更新 9

android/ レイアウト / チェックボックスとラジオボタン 概要 チェックボックスとラジオボタンをレイアウトファイルで指定するサンプル 処理内容は ユーザインターフェース / チェックボックスとラジオボタンと同じである 実行結果 手順 1. プロジェクトの作成 Eclipse を起動 ファイル > プロジェクト >Android>Android プロジェクトを選択 以下を設定したら完了ボタ ンを押してプロジェクトを作成する プロジェクト名 CheckRadioLayoutEx ビルド ターゲット Android 1.6 アプリケーション名 CheckRadioLayoutEx パッケージ名 net.easyjp.checkradiolayoutex 通常は自分のドメイン名を逆にしたものを使用する ( 例えば easyjp.net net.easyjp) ここでは適当に決めて構わない CreateActivity CheckRadioLayoutEx ここで指定した名前がプログラム本体のソースファイル名になる Min SDK Version 4 ( ここには 選択したビルド ターゲットの API の数値を入れる [[BR]] 例 : Android 1.6 = 4, Android 2.1 = 7, Android 2.2 = 8 2. レイアウト XML(res/main.xml) の編集 レイアウトファイルを以下のように修正する res/main.xml 10

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android " android:orientation="vertical" android:layout_height="fill_parent" android:background="#ffffff" > <!-- チェックボックス --> <CheckBox android:id="@+id/checkbox" android:layout_height="wrap_content" android:text="@string/checkbox" android:checked="true" android:textcolor="#ff000000" /> <!-- ラジオグループ --> <RadioGroup android:id="@+id/radiogroup" 11

android:layout_height="wrap_content" > <RadioButton android:id="@+id/radio0" android:layout_height="wrap_content" android:text="@string/radio0" android:textcolor="#ff000000" /> <RadioButton android:id="@+id/radio1" android:layout_height="wrap_content" android:text="@string/radio1" android:textcolor="#ff000000" android:checked="true" /> </RadioGroup> 12

<!-- ボタン --> <Button android:id="@+id/button" android:textsize="16sp" android:text="@string/button" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 4.res/string.xml を修正する res/string.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">hello World, CheckRadioLayoutEx!</string> <string name="app_name">checkradiolayoutex</string> <string name="checkbox"> チェックボックス </string> <string name="radio0"> ラジオボタン 0</string> <string name="radio1"> ラジオボタン 1</string> <string name="button"> 結果表示 </string> 13

</resources> 5. CheckRadioLayoutEx.java の修正 CheckRadioLayoutEx.java package net.easyjp.checkradiolayoutex; import android.app.activity; import android.app.alertdialog; import android.content.dialoginterface; import android.os.bundle; import android.view.window; import android.view.view; import android.widget.button; import android.widget.checkbox; import android.widget.radiogroup; import android.widget.radiobutton; public class CheckRadioLayoutEx extends Activity implements View.OnClickListener { private Button button; private CheckBox checkbox; private RadioGroup radiogroup; 14

// 初期化 @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); requestwindowfeature(window.feature_no_title); setcontentview(r.layout.main); button = (Button)findViewById(R.id.button); button.setonclicklistener(this); checkbox = (CheckBox)findViewById(R.id.checkBox); radiogroup = (RadioGroup)findViewById(R.id.radioGroup); } // ボタンのクリックイベント @Override public void onclick(view view) { // チェックボックスとラジオボタンの状態取得 15

// 選択されているラジオボタンを取得 RadioButton radio = (RadioButton)findViewById(radioGroup.getCheckedRadioButto nid()); showdialog(this, " 状態 ", " チェックボックス : " + checkbox.ischecked() + "\n" + " ラジオボタン : " + radio.gettext().tostring()); } // ダイアログの表示 private void showdialog(final Activity activity, String title, String message) { AlertDialog.Builder ad = new AlertDialog.Builder(activity); ad.settitle(title); ad.setmessage(message); ad.setpositivebutton("ok", new DialogInterface.OnClickListener() { which) { public void onclick(dialoginterface dialog, int activity.setresult(activity.result_ok); } }); ad.create(); 16

ad.show(); } } 17