fc2ブログ

DisplayMetricsクラスの代表的フィールド

DisplayMetricsクラスの代表的フィールド

float density
画面の論理的密度
 
int densityDpi
インチおたりのドット数で表した画面密度

int heightPixels
ピクセル値で表した画面の絶対的高さ

int widthPixels
ピクセル値で表した画面の絶対的幅

float xdpi
x軸の1インチあたりの物理的なピクセル数

float ydpi
y軸の1インチあたりの物理的なピクセル数



--
から送られてきた高速メモ帳
スポンサーサイト



DisplayMetricsクラスの代表的フィールド

DisplayMetricsクラスの代表的フィールド

float density
画面の論理的密度
 
int densityDpi
インチおたりのドット数で表した画面密度

int heightPixels
ピクセル値で表した画面の絶対的高さ

int widthPixels
ピクセル値で表した画面の絶対的幅

float xdpi
x軸の1インチあたりの物理的なピクセル数

float ydpi
y軸の1インチあたりの物理的なピクセル数

画面情報の取得

画面情報の取得

onScroll()の強距離の単位がピクセルであるように
ScaleGestureDetectorで取得する2点間の距離もピクセルで返ってくる

これをミリメートルへ変換するには

ピクセル / 解像度 * 25.4

の計算式を使う

解像度は、インチあたりのピクセル数

これに25.4をかけることで
ミリメートル換算できる

解像度は、Android端末ごとに異なるため
画面の大きさ
解像度
を知るには
DisplayMetricsクラスを使う

onFling() onScroll()の引数

onFling() onScroll()の引数

まず、onFling()
構文は
boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)

引数の解説
e1
ダウン時のタッチイベント

e2
フリック時のタッチイベント

velocityX
x軸の速度
単位は、ピクセル/秒

velocityY
y軸の速度
単位は、ピクセル/秒


次に、onScroll()
構文は
boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)

引数の解説
e1
ダウン時のタッチイベント

e2
スクロール時のタッチイベント

distanceX
x軸のスクロール時の距離
単位はピクセル

distanceY
y軸のスクロール時の距離
単位はピクセル

フリックやスクロールの検知

フリックやスクロールの検知

ボタンのタップやダウン、アップなどのタッチ操作は
onClickイベントや
onTouchイベントで処理できるけど
複雑な操作になるジェスチャーは
GestureDetectorクラスや
ScaleGestureDetectorクラスを使い検出する

ScaleGestureDetectorクラスは
ピンチイン
ピンチアウト
を取得できる

GestureDetectorクラスはかなり多くの
ジェスチャーを検出できる


先に、ピンチアウトとピンチインについて解説

スマホのタッチパネルは、複数の指で
画面にタッチするマルチタッチをサポートしている

2本指でタッチして
つまむように間隔を狭めることを
ピンチイン

逆に2本の指を開いて
間隔を広げる動作をピンチアウトという

そして、以下がGestureDetectorで検知できるイベント

ダウンは、onDown()
押したとき
インターフェースは,
OnGestureListener


プレスは、onShowPress()
おしたとき、ただし、すぐに動かすと検知されない
インターフェースは、
OnGestureListener


長押しは、onLongPress()
これは、長押ししたとき
インターフェースは、
OnGestureListener


フリックは、onFling()
スワイプ、つまり指を触れたまま
任意方向へすべらした状態から
指を弾いて離す
インターフェースは、
OnGestureListener


スクロールは、onScroll()
画面にタッチしたままスライド
インターフェースは、
OnGestureListener


アップは、onSingleTapUp()
画面タッチからアップ操作を短く
インターフェースは、
OnGestureListener

シングルタップは、onSingleTapConfirmed()
ダブルタップ時には呼び出されない
インターフェースは、
OnDoubleTapListener

ダブルタップは、onDoubleTap()
これは、二回押す
インターフェースは、
OnDoubleTapListener

ダブルタップ時のイベントは、
onDoubleTapEvent()
ダブルタップ中にイベントダウン、移動、アップが起こると通知される
インターフェースは、
OnDoubleTapListener
最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック