Home > android > Androidの地図アプリをm5-rc14っぽくしてみた

Androidの地図アプリをm5-rc14っぽくしてみた

Icon Menu


m5-rc14からはメニューにアイコンを設定できるようになった。
ぐるなびのアイコンが野暮ったい…。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  super.onCreateOptionsMenu(menu);
  menu.add(0, GNAVI, "ぐるなび", R.drawable.gnavi);
  menu.add(0, HOTPEPPER, "ホットペッパー", R.drawable.hotpepper);
  menu.add(0, YAHOO, "Landmark", R.drawable.landmark);
  return true;
}

addメソッドに第4引数が追加されています。

Zoom Dialog


地図上にズーム・ダイアログも表示できるようになった。
#十字キーの真ん中のボタン(もしくはZ)で表示/非表示切り替え。

this.mv = new MapView(this);
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
  super.onKeyDown(keyCode, event);
 
  switch (keyCode) {
  case KeyEvent.KEYCODE_DPAD_CENTER:
  case KeyEvent.KEYCODE_Z:
        mv.displayZoomDialog(10, 100);
        break;
  }
  return false;
}
Layout Animation


リストにもアニメーションを加えました。リストの各アイテムが右から流れ出てきます。
静止画では全く分かりませんが(汗)

Animation anim = new TranslateAnimation(window_width, 0, 0, 0);
anim.setDuration(250);//移動時間は250ms
LayoutAnimationController la = new LayoutAnimationController(anim);
la.setDelay(0.35f);//次々アニメーションする
shop_list.setLayoutAnimation(la);

delayの設定はちょっと複雑。以下の計算結果のmsだけ遅れます。

child index * delay * animation duration
= index * 0.35 * 250
= index * 87.5

ちょっと複雑に見えますが、実は簡単です。
上のリストアイテムから87.5ms遅れで次のリストアイテムが次々アニメーションすることになります。

リストを選択するとその詳細情報を表示します。
他のキーバインドは今まで通りです。

Key Description
I, Volume UP ズームイン
O, Volume Down ズームアウト
←,↑,→,↓ 移動(タッチパネルでも可)
Z, Center ズームダイアログを表示/非表示
0,1,2,… 店の番号を入力
DEL 入力した番号をキャンセル
Space 入力した番号の店に移動して表示
L, R, H 表示対象のリスト、データを再取得、ヘルプ
Download

いつものようにアプリケーション・パッケージとeclipseプロジェクトを公開します。自由にご利用ください。

eclipse project >> around_here2.1.zip

おわりに

3Dでグルっと回転するエフェクトを導入したかった。
調べた限りでは、地図をグルっと回転させるのは無理のようです。残念…。
地図の裏側にお店の情報を表示させてみたかった。

別のアプリにでも適用を考えよう。

関連のありそうなエントリ

Comments:2

安藤恐竜 08-02-16 (土) 10:54

Adamrockerさん、速すぎwww

m5_rc14で実用的アプレットってひょっとして世界最速じゃないかしら。3D Transitionはスタティックなリソースでしか使えないんでしょうか。ちょっと残念。

adamrocker 08-02-17 (日) 0:40

ワーィ!最速ですか?!
と言っても、既存のアプリなのでちょと微妙ですが(汗)
他の公開アプリも順次m5-rc14に対応させていく予定です。

3Dでグルグルするやつは、サンプルにちょっと手を加えてMapに適用することが難しいって程度までしか調べきれていません。
調べた限りでは、3DっぽくするにはFrameLayoutというViewを使う必要があります。
MapViewはMapActivityに適用するため、FrameLayoutの皮をかぶせる事ができないんじゃないかと…
そいう推測から、地図に3Dエフェクトをかけるのは無理なんじゃないかという結論です。
ちゃんと調べれば抜け道があるかもしれません。
#というわけで、スタティックなリソースとはあまり関係しないと思います。

Comment Form
Remember personal info

*
To prove that you're not a bot, enter this code
Anti-Spam Image

Trackbacks:0

Trackback URL for this entry
http://www.adamrocker.com/blog/186/android_around_here2_first_m5_ui_application.html/trackback/
Listed below are links to weblogs that reference
Androidの地図アプリをm5-rc14っぽくしてみた from throw Life

Home > android > Androidの地図アプリをm5-rc14っぽくしてみた

Search
Feeds
Meta

Return to page top