• 検索結果がありません。

改版履歴 版数ページ章内容 初版制定 1

N/A
N/A
Protected

Academic year: 2021

シェア "改版履歴 版数ページ章内容 初版制定 1"

Copied!
36
0
0

読み込み中.... (全文を見る)

全文

(1)

2013年10月7日

富士通株式会社

らくらくスマートフォン プレミアム(F-09E)

らくらくタッチ実装ガイドライン

(2)

改版履歴

版数

ページ

内容

1.0

-

-

初版制定

Copyright 2013 FUJITSU LIMITED 1

(3)

目次

はじめに

 本書の目的

 動作環境

らくらくタッチ

 機能概要

 機能詳細と仕組み

 実装時の注意点

補助資料

Copyright 2013 FUJITSU LIMITED 2

(4)

- はじめに -

Copyright 2013 FUJITSU LIMITED 3

(5)

本書の目的

らくらくスマートフォン プレミアム(F-09E)のらくらくタッチ

機能の詳細と、その実装方法を明確化することで、アプリ

ケーション開発者が、らくらくタッチの動作仕様を理解し、

適切な箇所に、適切にらくらくタッチ機能を適用できること

を目的とする。

なお、

本書で記載する実装方法は、標準的なAndroid™上でも、

実装前と変わらず適切に動作することを前提としている。

Copyright 2013 FUJITSU LIMITED 4

Android™、Google™ 、Google Chrome™ およびGoogle Play™ は Google Inc.の商標または登録商標です。

「dマーケット」、 「dメニュー」は 株式会社NTTドコモの商標または登録商標です。

(6)

動作環境

 動作環境は

らくらくスマートフォン プレミアム(F-09E)とする。

※Android 4.2.2

Copyright 2013 FUJITSU LIMITED 5

(7)

- らくらくタッチ -

Copyright 2013 FUJITSU LIMITED 6

(8)

~機能概要~

Copyright 2013 FUJITSU LIMITED 7

(9)

タッチパネルの操作が初めてでも確実に入力ができるよう「触れ

る」と「押す」の違いをしっかりと区別するタッチパネルを採用した。

使い慣れたケータイのボタンのように操作することができる。触れ

た場合は、触れている箇所が表示されるので、どのボタンに触れ

ているかが明確にわかる。さらに、パネルを軽く押し込むことで入

力が確定するので、押し間違いが少なく安心である。

らくらくタッチ機能概要

Copyright 2013 FUJITSU LIMITED 8

触った箇所が

青い枠などで

表示される

軽くパネルを

押し込むと

指先に振動を

伝えながら

入力が確定

(10)

らくらくタッチに対応するためのポイントは以下三点となる

 選択操作に際し、プレ選択機能(後述)が動作する

 選択操作に際し、タップブロック機能(後述)が動作する

 選択実行操作は、指先を押し込んだ場合にのみ実行される

この時、指先に実行を示す振動によるフィードバックが行われる

らくらくタッチ機能 期待動作

更に指先を

押し込む

Copyright 2013 FUJITSU LIMITED

ぶるっ

(11)

~機能仕様詳細と仕組み~

Copyright 2013 FUJITSU LIMITED 10

(12)

プレ選択機能について

らくらくタッチ機能では、ユーザーが事前に、触れている実行機能

を確認することができるように、軽く触れた段階で、実行部分の表

示変更(プレ選択表現)を行う。これがプレ選択機能である。

Copyright 2013 FUJITSU LIMITED 11

(13)

プレ選択機能の実現方法

Copyright 2013 FUJITSU LIMITED 12

state_focused

state_enabled

触る

離す

プレ選択機能のプレ選択表現はselectorの状態をstate_enabled→state_focused

に変化させ、selectorに設定された画像に変更することで実現している。

下図のような一般的なボタンの場合、上記仕組みに基づいた以下画像変更にて

プレ選択表現されている。

Note:

 上記の場合、各々のボタン画像は拡大貼付けされている。

 state_focusedはキーボードのカーソル操作時にも遷移する状態である。つまり、本件への対応はキーボードのカーソル表示

対応も意味する(キーボードカーソルの場合は、ユーザーがキーボードカーソルを操作するまでの間、状態を継続する)。

(14)

プレ選択表現が行われないケース

Copyright 2013 FUJITSU LIMITED 13

state_focused

state_enabled

触る

離す

selectorのstate_enabledに独自の画像を設定しているにも関わらず、

state_focusedに画像を設定していない場合は、state_focusedに遷移しても画像

変更されず、プレ選択表現されない。state_enabledに独自の画像を設定した場合

は、state_focusedにプレ選択されていることが(キーボードカーソルにより選択さ

れていることが)わかるような画像を設定しなければならない。

Note:

 上記の場合、各々のボタン画像は拡大貼付けされている。

 上記サンプルの詳細を本書35P「補助資料 サンプルアプリ」で記載している。

×

(15)

ユーザーが意図しない機能が誤って実行されないようにするた

め、F-09Eは、タップ操作(軽く触ってすぐ離す操作)をブロックして

いる。選択実行は軽く押し込まれた時にのみ許可している。これ

がタップブロック機能である。

無効操作(タップ操作)

タップブロック機能について

軽く触って

すぐ離す

メール起動

されない

Copyright 2013 FUJITSU LIMITED 14

(16)

タップブロック機能の実現方法

タッチパネルドライバ

フレームワーク

(アプリ表示領域)

フレームワーク部品

(メール起動ボタン)

タップ

ブロック

アプリ

(ホームアプリ)

らくらくタッチ機能オフの

場合

らくらくタッチ機能オン

の場合

onClick通知

onTouchEvent通知

タッチイベント(タップ相当)

タッチイベント(タップ相当)

onTouchEvent通知

部品側が押し込み検知時のみ、

onClick通知することで実現

タップブロック機能は、タップ操作時にonClickを通知せず、押し込んだ時のみ通

知することで実現している。例えばホームアプリのメール起動ボタン上でタップ操

作を行った場合、らくらくタッチオフ/オンそれぞれの処理は以下となる。

機能の選択実行

(ホームアプリがメール起動)

Copyright 2013 FUJITSU LIMITED 15

(17)

タップブロックが機能しないケース

UI部品のonTouchEventに代表されるタッチハンドラがOverrideされると、タップに

よる選択操作が無効にならない。タップブロック対応のためには、前頁のように、選

択実行契機をonClickの通知に委ねる必要がある。

タッチパネルドライバ

フレームワーク

(アプリ表示領域)

フレームワーク部品

(メール起動ボタン)

アプリ

(ホームアプリ)

タップ

ブロック

タッチイベント(

タップ相当

)

onTouchEvent通知

onTouchEvent

(Override)

タップによる

選択実行

タップ

ブロック

タッチイベント(

押し込み相当

)

onTouchEvent通知

onTouchEvent

(Override)

押し込みによる

選択実行

Copyright 2013 FUJITSU LIMITED 16

(18)

らくらくタッチ機能は、ボタンのようなUIを押しこんだ際、実際のボ

タン押下時の感覚を得られるように、指先に対して振動のフィード

バックを行っている。これがらくらくタッチ機能の振動フィードバック

機能である。

押し込み選択と振動フィードバックについて

Copyright 2013 FUJITSU LIMITED 17

(19)

押し込み選択と振動フィードバック実現方法

タッチパネルドライバ

フレームワーク

(アプリ表示領域)

フレームワーク部品

(View派生)

アプリ処理

onClickListener有

onClick通知

onTouchEvent通知

タッチイベント(押し込み相当)

押し込み操作相当のタッチイベントを受け、onClick通知をする直前に、触れた

箇所へ振動をフィードバックしている。

clickableなUI部品が基本条件です。この時onClickListenerの有無は問わない。

機能の選択実行

振動!

onClickListener無

onClick通知

onTouchEvent通知

振動!

タッチイベント(押し込み相当)

Copyright 2013 FUJITSU LIMITED 18

(20)

振動フィードバックが行われないケース

UI部品のonTouchEventに代表されるタッチハンドラがOverrideされると、振動処

理が動作せず、振動フィードバックが行われない。Override時に振動フィードバック

が適切に行われるためには、superを呼び出す必要がある。

タッチパネルドライバ

フレームワーク

(アプリ表示領域)

フレームワーク部品

(View派生)

アプリ処理

タップ

ブロック

onTouch通知

onTouchEvent

(Override)

押し込みによる

選択実行

タップ

ブロック

タッチイベント(

押し込み相当

)

onTouch通知

onTouchEvent

(Override)

押し込みによる

選択実行

タッチイベント(

押し込み相当

)

例外

振動!

super.onTouchEvent

Copyright 2013 FUJITSU LIMITED 19

(21)

~実装時の注意点~

Copyright 2013 FUJITSU LIMITED 20

(22)

らくらくタッチ機能 実装時の注意点<1>

[プレ選択表現]

 プレ選択表現の対象としたい、選択操作可能なUIに対し、

独自の画像変更処理を行ってはならない。また、

selectorのstate_enabledに

専用の画像

を用意している場合は、

selectorの

state_focused

に対しても、プレ選択表現用の画像を

用意しなければならない。

適切に設定することで、プレ選択表現が行われるようになる。

 上記に加え、onTouchEvent等のタッチハンドラをOverrideした

viewを用いている場合、戻り値には必ずtrueを返却しなければ

ならない。falseが返却されると、前記のプレ選択画像が設定さ

れていたとしても、プレ選択画像が表示されない。

Copyright 2013 FUJITSU LIMITED 21

(23)

らくらくタッチ機能 実装時の注意点<2>

[タップブロック/振動フィードバック]

 タップブロック・振動フィードバックの対象としたい選択操作可能

なUIに対し、view派生のUI部品を用い、

かつ、onClickによる通知を選択実行契機とすること。

 タッチイベント監視の意図で、onTouchEvent等のタッチイベント

ハンドラを利用している場合、superを呼び出し、選択実行契機

のみをonClick通知に委ねることで、タップブロック・振動フィード

バックへの対応が可能となる。

Copyright 2013 FUJITSU LIMITED 22

(24)

[振動フィードバック]

 押し込み操作時の振動フィードバックはclickableなUI部品に対し

てのみ実行される。振動フィードバックの対象としたいUI部品は

clickableとしなければならない。

 例外的にListViewはonClickListener登録が追加条件として必要

である。ListView継承部品をらくらくタッチ対応させる場合は、必

ずonClickListener登録を実装しなければならない。

Note:

Android標準のListView実装が、アイテム選択時の決定音鳴動条件として、onClickListenerの登録を必要としていることに起因し

た条件である(音の鳴動条件と振動の鳴動条件が異なると、振動はするが音が鳴らないといった操作上違和感のある条件が存

在してしまうため、鳴動条件を合わせている)

らくらくタッチ機能 実装時の注意点<3>

Copyright 2013 FUJITSU LIMITED 23

(25)

①触る

①´押し込む

②離す

らくらくタッチ機能 実装時の注意点<4>

Copyright 2013 FUJITSU LIMITED

ViewGroup

View

ACTION_DOWN

ACTION_DOWN

ACTION_UP

ACTION_UP

ACTION_MOVE

ACTION_CANCEL ACTION_DOWN

UI部品に触れた際のACTION_DOWNをキャンセルし、タッチシーケンスをや

り直すため、押し込み時にACTION_CANCELを通知する。

[押し込み操作時のタッチイベント]

 標準的なAndroidは下図①→②の操作によりUI部品の選択実行操作となるが、

F-09E らくらくタッチ設定オンの場合は、

赤点線枠で囲まれた部分が加わり、

①´→

②にて選択実行操作になる。onTouchEvent等のタッチハンドラの

OverrideをしているViewでは、ACTION_CANCEL受領処理の実装、または、二

回目のACTION_DOWNを無視する実装をしなければならない。

キャンセル

ACTION_MOVE

24

(26)

らくらくタッチ機能 実装時の注意点<5>

指先を

押し込む

Copyright 2013 FUJITSU LIMITED 25

ぶるっ

[WebViewの利用]

 らくらくタッチに対応したいWebView上に表示するコンテンツを作

成する際は、 後記のらくらくタッチ対応要素を利用すること。対

応要素のみで形成することで、プレ選択操作時のプレ選択表現、

押し込み時の振動フィードバックに対応できる。

(27)

らくらくタッチ機能 実装時の注意点<6>

広告

リンク

Copyright 2013 FUJITSU LIMITED

広告

リンク

プレ選択表現する

プレ選択表現しない

26

広告リンクが

画面サイズより大きい

[WebViewの利用]

 プレ選択表現の領域サイズが画面サイズよりも大きい場合、プ

レ選択表現は行わない。

(28)

ボタン

[WebView利用]

 onTouchStart、onTouchEndのJavaScriptイベントハンドラを使用

する場合は、以下に留意しなければならない。

1.

onTouchStartがコールバックされるタイミングは、押し込み操作実行時となる。

2.

onTouchEndがコールバックされるタイミングはonTouchStartのコールバック後、指を離した時と

なる。

3.

1、2より、onTouchStartとonTouchEndでボタンを実現するようなコンテンツを作成した場合は、押

し込み操作をしないと動作しない。

ボタン

らくらくタッチ機能 実装時の注意点<7>

Copyright 2013 FUJITSU LIMITED

ぶるっ

ボタン

function onTouchStart(e) {

・・・

ボタンの色を変える

}

function onTouchEnd(e) {

・・・

ボタンの色を戻す

ボタン押下時の処理を実行

}

27

ボタンにタッチ

押し込み

指を離す

(29)

-補助資料-

Copyright 2013 FUJITSU LIMITED 28

(30)

補助資料 onClick/onLongClick

以下の関数の通知契機はらくらくタッチに対応している。

そのため、らくらくタッチ機能の設定がオンの場合、らくらくタッチ機能に対応した通知契機になる。

<らくらくタッチ設定=オン ダウンロードアプリのらくらくタッチ設定=オン>

onClick :押し込み操作→緩め操作(またはUP操作)発生時に通知される

onLongClick :押し込み操作→規定時間経過時に通知される

<らくらくタッチ設定=オフ>

onClick :タップ操作

onLongClick :ロングタップ操作

android.view.View.OnClickListener.onClick

android.view.View.OnLongClickListener.onLongClick

Copyright 2013 FUJITSU LIMITED 29

(31)

補助資料 らくらくタッチ対応UI部品

らくらくタッチ機能オンに伴いonClick, onLongClick

の通知契機がらくらくタッチ対応となる主なUI部品は

右記の通りになる。

ただし、レイアウタに代表されるタッチイベントを部

品側で直接ハンドルしないUI部品や、実装クラスは、

この一覧への追記を行っていない。

例:

・LinearLayout等に代表される各種レイアウタ

(タッチイベントを直接ハンドルしない)

・AbsListView(抽象クラス) - ListView(実装クラス)

View ZoomButton ImageView TextView Button CompoundButton CheckBox RadioButton Switch ToggleButton CheckedTextView EditText AbsListView GridView ExpandableListView AbsSpinner DatePicker TimePicker NumberPicker TabWidget

Copyright 2013 FUJITSU LIMITED 30

(32)

補助資料 WebViewらくらくタッチ対応リスト

HTML カテゴリ タグ 備考 ハイライトさせない場合 (プレス振動は動作します) 1 フォーム <input> CSSで -webkit-tap-highlight-color: rgba(xx,xx,xx,0) プロパティを設定すると HTMLタグ及びその配下のタグについてハイライトされ ない 2 フォーム <textarea> 3 フォーム <button> 4 フォーム <select> 5 フォーム <option> 6 フォーム <label> 対応するフォーム部品(タグ)に対しての プレ選択、押し込み振動時の動作 7 リンク <a> 8 リンク <area> 9 要約 <summary> <sumary>が未設定の場合は<sumary> 部分の代替文字部分をハイライト 詳細情報の開閉操作時の動作 10 フレーム <iframe>,<frame> 11 メディア <video> 12 メディア <audio> 13 埋め込み <object>,<embed> JavaScript イベント インベント発動条件 備考 ハイライトさせない場合 (プレス振動は動作します) 1 onClick タップ時→押し込み(後の緩め)操作時に実行される CSSで -webkit-tap-highlight-color: rgba(xx,xx,xx,0) プロパティを設定すると HTMLタグ及びその配下のタグについてハイライトされ ない 2 onMouseDown タップ時→押し込み(後の緩め)操作時に実行される (マウス操作のクリック開始をエミュレートしている) 3 onMouseUp タップ時→押し込み(後の緩め)操作時に実行されるイベント (マウス操作のクリック終了をエミュレートしている) 4 onMouseOver タップ開始時→押し込み操作時に実行されるイベント ドラッグ開始やピンチ開始時にも実行される ただし、同一要素上でonMouseOutなしに再度onMouseOverが実施された場合 は実行されない。 (マウス操作の要素上に乗った時をエミュレートしている)

Copyright 2013 FUJITSU LIMITED 31

らくらくタッチ対応要素リスト

(33)

補助資料 GestureListener

以下標準的なAndroidのジェスチャー関数については、らくらくタッチ機能に対応していないため、

F-09Eのらくらくタッチ設定をオンにしても、らくらくタッチ機能の影響を受けない。

android.view.OnGestureListener.onDown

android.view.OnGestureListener.onSingleTapUp

android.view.OnGestureListener.onScroll

android.view.OnGestureListener.onLongPress

android.view.OnGestureListener.onFling

android.view.OnDoubleTapListener.onSingleTapConfirmed

android.view.OnDoubleTapListener.onDoubleTap

android.view.SimpleOnGestureListener.onSingleTapUp

android.view.SimpleOnGestureListener.onLongPress

android.view.SimpleOnGestureListener.onScroll

android.view.SimpleOnGestureListener.onFling

android.view.SimpleOnGestureListener.onShowPress

android.view.SimpleOnGestureListener.onDown

android.view.SimpleOnGestureListener.onDoubleTap

android.view.SimpleOnGestureListener.onDoubleTapEvent

android.view.SimpleOnGestureListener.onSingleTapConfirmed

Copyright 2013 FUJITSU LIMITED 32

(34)

補助資料

らくらくタッチが動作しないケース

以下のいずれかに該当する場合は、らくらくタッチ機能がオンの場合でも、各種

らくらくタッチ対応UI部品は、らくらくタッチの動作を行わない。

 F-09Eがセーフモードで起動されている。

 F-09Eの「設定」→「音・振動・タッチの設定」→「らくらくタッチ」→「詳細設

定」→「ダウンロードしたアプリ」の設定がオフにされている。

※本設定の対象はダウンロードアプリのみになる

 F-09Eで何らかのアクセシビリティサービスが有効化されている。

※アクセシビリティサービスを優先する

Copyright 2013 FUJITSU LIMITED 33

(35)

補助資料 サンプルアプリ

Copyright 2013 FUJITSU LIMITED

Raku2TouchSample.apk

タッチ操作結果 出力領域

各々のボタンに様々な触れ方をした際、タッチイベントがどのように

流れるか確認する際に利用すること。左からボタン番号、タッチイベ

ント種別(圧力値1.0/0.1)となる。

圧力1.0は赤、ACTION_CANCELは黄色で表現している。

プレ選択表現 対応サンプル

標準的なAndroid上で、ボタンに触れた際に独自の画像を表示する場合、

01ボタンのように実装を行う場合が多いが、02ボタンのようにプレ選択画

像の追加も行うことでプレ選択表現へ対応できる。以下差分を参考にして

対応すること。

01ボタン:btn_default_no_focused.xml 02ボタン:btn_default.xml

タップブロック/振動フィードバック 対応サンプル①

03ボタンのような実装は04ボタンのようにすることで、同等の振る舞いを行

えるまま、新たにらくらくタッチに対応できる。以下差分を参考に対応するこ

と。

03ボタン:OnTouchOverrideBtn.java

04ボタン:OnTouchOverrideCallSuperBtn.java

タップブロック/振動フィードバック 対応サンプル②

上記タップブロックの別パターンとなる。このようにすることで、同様に、現

振る舞いを変えることなく、新たにらくらくタッチに対応できる。以下差分を

参考に対応すること。

05ボタン:UseGestureDetectorBtn.java

06ボタン:UseGestureDetectorCallSuperBtn.java

34

(36)

参照

関連したドキュメント

HORS

攻撃者は安定して攻撃を成功させるためにメモリ空間 の固定領域に配置された ROPgadget コードを用いようとす る.2.4 節で示した ASLR が機能している場合は困難とな

ところが, [Taylor4] ( の最新版 ) に於いて改良されたテイラーのモジュラー性持ち上げ定理 ([Taylor4] 定理 5.4) に於いては, ρ v がスタインバーグ表現の際に

チューリング機械の原論文 [14]

注:一般品についての機種型名は、その部品が最初に使用された機種型名を示します。

回転に対応したアプリを表示中に本機の向きを変えると、 が表 示されます。 をタップすると、縦画面/横画面に切り替わりま

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

(a) ケースは、特定の物品を収納するために特に製作しも