2-1 KeyEvent 概要 KeyEvent クラスはアンドロイド端末のキーに対するイベントの定数 基本メソッドを提供するオブジェクトです クラス図は次のようになっています java.lang.object android.view.keyevent 2-2 KeyEvent.Callback

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

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

Copyright 2008 NIFTY Corporation All rights reserved. 2

初心者にもできるアメブロカスタマイズ新2016.pages

- 2 Copyright (C) All Rights Reserved.

Copyright 2006 KDDI Corporation. All Rights Reserved page1

Copyright All Rights Reserved. -2 -!

Microsoft Word - 最終版 バックせどりismマニュアル .docx

dekiru_asa

untitled

健康保険組合のあゆみ_top

リバースマップ原稿2

Copyright 2010 Sumitomo Mitsui Banking Corporation. All Rights Reserved.

20 180pixel 180pixel Copyright 2014 Yahoo Japan Corporation. All Rights Reserved.


やよいの顧客管理

弥生給与/やよいの給与計算

弥生 シリーズ

弥生会計 プロフェッショナル/スタンダード/やよいの青色申告

弥生会計/やよいの青色申告

弥生会計 ネットワーク/プロフェッショナル2ユーザー


intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

ネットワーク設定マニュアル(Windows Vista編)

PLQ-20 取扱説明書 詳細編

2

KDDI

1000 Copyright(C)2009 All Rights Reserved - 2 -

! Copyright 2015 sapoyubi service All Rights Reserved. 2

report03_amanai.pages

LP-M8040シリーズ

report05_sugano.pages

untitled

- 2 Copyright (C) All Rights Reserved.

プログラミング基礎I(再)

how-to-decide-a-title

Copyright Qetic Inc. All Rights Reserved. 2

DC9GUIDEBook.indb

Releases080909

URL AdobeReader Copyright (C) All Rights Reserved.

Solibri Model Checker 9.5 スタードガイド

REGZA Tabletガイド

Java知識テスト問題

Copyright (C) 2007 noroiya.com.all Rights Reserved. 2

Copyright 2017 JAPAN POST BANK CO., LTD. All Rights Reserved. 1

% 11.1% +6.% 4, % %+12.2% 54,16 6.6% EV7, ,183 Copyright 216 JAPAN POST GROUP. All Rights Reserved. 1


P. 2 P. 4 P. 5 P. 6 P. 7 P. 9 P.10 P.12 P.13 P.14 P.14 P.15 P.17 P.18 P.20 P P P P P.25 P.27 P.28 Copyright 2016 JAPAN POST BA

Ⅴ 古陶器にみる装飾技法

展示会レポート修正

PowerPoint プレゼンテーション


2

キャバ嬢口説きテンプレ

IP IP All contents are Copyright (c) All rights reserved. Important Notices and Privacy Statement. page 2 of 39

PowerPoint プレゼンテーション


2007 Indie s Movie Project. All Rights Reserved. 02


Javaプログラムの実行手順

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

ブロック崩し Step1 矢印キーで左右に動かせるパドルを描画する < パドルの表現方法 > パドルは java.awt パッケージの Rectangle という Java が用意しているクラスを使う これは四角形を表すクラスで 左上の点の座標と幅 高さをもっている (x, y) Rectangle

Java講座

Copyright 2009, SofTek Systems, Inc. All rights reserved.

X-U5

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

Transcription:

キーイベント 2-1 KeyEvent 概要 2-2 KeyEvent.Callback 概要 2-3 アクティビティでキーイベントに応答 2-4 ビューでキーイベントに応答 2-5 アクティビティの dispatchkeyevent メソッド 2-6 キーコード定数 Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 1/14

2-1 KeyEvent 概要 KeyEvent クラスはアンドロイド端末のキーに対するイベントの定数 基本メソッドを提供するオブジェクトです クラス図は次のようになっています java.lang.object android.view.keyevent 2-2 KeyEvent.Callback 概要 KeyEvent.Callback インターフェースはキーイベントの基底コールバック関数を提供しています KeyEvent.Callback インターフェースを継承するクラスには それぞれのコールバック関数を実装してあれば 対応するキーイベントに応答が実現出来ます アクティビティ ビュークラスは KeyEvent.Callback インターフェースを継承しています キーイベントのコールバック関数は以下のように三つ用意しています メソッド boolean onkeydown(int keycode, KeyEvent event) boolean onkeylongpress(int keycode, KeyEvent event) boolean onkeyup(int keycode, KeyEvent event) 概要 キーを押した瞬間に呼ばれるメソッド キーを押し続いたとき呼ばれるメソッド キーを押してからリリースしたとき呼ばれるメソッド Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 2/14

2-3 アクティビティでキーイベントに応答 2-3-1 onkeydown onkeyup メソッド キーダウン ( 或はキーアップ ) イベントが発生する時 アクティビティに onkeydown ( 或は onkeyup ) メソッドを呼び出します 渡される引数 keycode により 押されたキーに特定する対処の実装が出来ます サンプルコード public boolean onkeydown(int keycode, KeyEvent event) { switch (event.getkeycode()) { case KeyEvent.KEYCODE_DPAD_LEFT: // 十字左方キー showtoast(this," 左キー (onkeydown)"); case KeyEvent.KEYCODE_DPAD_CENTER: default: return super.onkeydown(keycode,event); onkeyup メソッドの実装方法は同じなので省略します Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 3/14

実行例 上記ソースで実行し 左方キーを押すとトーストが現れます Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 4/14

2-3-2 onkeylongpress メソッド API level 5 以上 キーを押し続けるイベントが発生する時 アクティビティに onkeylongpress メソッドを呼び出します 渡される引数 keycode により 押されたキーに特定する対処の実装が出来ます 注意点として onkeylongpress コールバックを利用するとき onkeydown コールバックの実装を以下のようにしなければなりません イベントオブジェクトの starttracking メソッドを呼びます 戻り値を true に設定します サンプルコード public boolean onkeylongpress(int keycode, KeyEvent event) { switch (keycode) { case KeyEvent.KEYCODE_DPAD_CENTER: // 十字中央キー TestKeyEvent.showToast(TestKeyEvent.this, " 中央キー (onkeylongpress)"); default: return super.onkeylongpress(keycode, event); public boolean onkeydown(int keycode, KeyEvent event) { event.starttracking(); return true; Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 5/14

実行例 上記ソースで実行し 中央キーを押し続けるとトーストが現れます Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 6/14

2-4 ビューでキーイベントに応答 アクティビティと同じ ビュークラスは KeyEvent.CallBack インターフェースを継承しますので ビュークラスのキーイベントコールバック関数を実装してあれば キーイベントに応答が出来ます 2-4-1 onkeydown onkeyup メソッド キーダウンイベント ( 或はキーアップ ) が発生する時 onkeydown メソッド ( 或い onkeyup ) を呼び出します 渡される引数 keycode により 押されたキーに特定する対処の実装が出来ます サンプルコード public boolean onkeydown(int keycode, KeyEvent event) { switch (event.getkeycode()) { case KeyEvent.KEYCODE_DPAD_LEFT: // 十字左方キー showtoast(this," 左キー (onkeydown)"); case KeyEvent.KEYCODE_DPAD_CENTER: default: return super.onkeydown(keycode,event); onkeyup メソッドの実装方法は同じなので省略します Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 7/14

実行例 上記ソースで実行し 左方キーを押すとトーストが現れます Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 8/14

2-4-2 onkeylongpress メソッド API レベル 5 以上 キーを押し続けるイベントが発生する時 ビューの onkeylongpress メソッドを呼び出します 渡される引数 keycode により 押されたのキーに対処する実装が出来ます アクティビティと同じ onkeylongpress コールバックを利用するとき onkeydown コールバックの実装を以下のようにしなければなりません イベントオブジェクトの starttracking メソッドを呼びます 戻り値を true に設定します サンプルコード public boolean onkeylongpress(int keycode, KeyEvent event) { switch (keycode) { case KeyEvent.KEYCODE_DPAD_CENTER: // 十字中央キー TestKeyEvent.showToast(TestKeyEvent.this, " 中央キー (onkeylongpress)"); default: return super.onkeylongpress(keycode, event); public boolean onkeydown(int keycode, KeyEvent event) { event.starttracking(); return true; Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 9/14

実行例 上記ソースで実行し 中央キーを押し続けるとトーストが現れます Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 10/14

2-5 アクティビティの dispatchkeyevent メソッド KeyEvent.CallBack インターフェースの以外 アクティビティクラスは Window.CallBack インターフェースも継承しています Window.CallBack インターフェースでは dispatchkeyevent コールバック関数を提供しますので それを実装してあればキーイベントに応答することも出来ます dispatchkeyevent メソッドを実装するとき 引数であるキーイベントの getaction getkeycode メソッドを利用すると どのキーイベント及びどのキーの動作を把握でき それに特定する対処の実装が出来ます 本サンプルに使われるキーイベントのメソッド メソッド 概要 final int getaction() 該当キーイベントの動作をゲットする ( 動作 :ACTION_DOWN ACTION_UP ) final int getkeycode() 該当キーイベントのキーコードをゲットする サンプルコード public boolean dispatchkeyevent(keyevent event) { switch(event.getaction()) { case KeyEvent.ACTION_UP: switch (event.getkeycode()) { case KeyEvent.KEYCODE_DPAD_CENTER: // 十字中央キー showtoast(this," 中央キー "); default: case KeyEvent.ACTION_DOWN: default: return super.dispatchkeyevent(event); ACTION_DOWN: キーが押さえつけるとき発生 ACTION_UP: キーが押してからリリースするとき発生 Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 11/14

実行例 上記ソースで実行し 中央キーを押すとトーストが現れます Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 12/14

2-6 キーコード定数 KEYCODE_0 KEYCODE_A KEYCODE_ALT_LEFT KEYCODE_ALT_RIGHT KEYCODE_AT KEYCODE_BACK KEYCODE_CALL KEYCODE_CAMERA KEYCODE_COMMA KEYCODE_DEL KEYCODE_DPAD_CENTER KEYCODE_DPAD_DOWN KEYCODE_DPAD_LEFT Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 13/14

KEYCODE_DPAD_RIGHT KEYCODE_DPAD_UP KEYCODE_ENDCALL KEYCODE_ENTER KEYCODE_HOME KEYCODE_MENU KEYCODE_PERIOD KEYCODE_POWER KEYCODE_SEARCH KEYCODE_SHIFT_LEFT KEYCODE_SLASH KEYCODE_SPACE KEYCODE_SYM KEYCODE_VOLUME_DOWN KEYCODE_VOLUME_UP 数字キー 0 から 9 までのコードは KEYCODE_0 から KEYCODE_9 までです 英文字キー A から Z までのコードは KEYCODE_A から KEYCODE_Z までです Copyright (C) 2010 SHANGHAI BRAIN TRUST Corporation. All Rights Reserved. 14/14