Home > android > Android用電子ブックリーダをm5-rc14に移植

Android用電子ブックリーダをm5-rc14に移植

Android用電子ブックリーダを移植

以前に公開した「ComicViewer3 -Androidで電子ブックリーダ-」をm5-rc14にポーティングしました。

変更点

単純に移植するだけでは面白くないので、追加機能とUI変更をしました。

メニュー

メニューアイコンを追加しました。 サブメニューも追加しました。

サブメニューの追加はこういった感じです。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  super.onCreateOptionsMenu(menu);
  SubMenu zoom_sub = menu.addSubMenu(0, 0, "ZOOM", R.drawable.zoom);
  zoom_sub.add(0, 1, "Zoom In(I)", R.drawable.zoomin);
  zoom_sub.add(0, 2, "Zoom Out(O)", R.drawable.zoomout);
  zoom_sub.add(0, 3, "Pan Width", R.drawable.panw);
  zoom_sub.add(0, 4, "Pan Height", R.drawable.panh);
...
}

addの第一引数はグループを意味します。
メニューとサブメニューは同じ値にします。
アイコンは第四引数で指定します。

タッチディスプレイでグリグリ

以前はタッチディスプレイで画像をグリグリと動かすのができませんでした。
1ヶ月の成長の成果か、Androidのバグが取れたためかは不明です、が、
ようやく、グリグリ移動できるようになりました。
これでブックリーダとして使える代物になったと思います。
#もちろん十字キーでの操作も可能です。

静止画ではやはり分かりませんね(汗)

これはonTouchEventメソッドをOverrideすることで実装できます。

@Override
public boolean onTouchEvent(MotionEvent event) {
...
  int touchX = (int) event.getX();
  int touchY = (int) event.getY();
  scrollBy(oldx - touchX, oldy - touchY);
...
}

タッチ箇所のX/Y座標の差分をscrollByで画像を移動させる方式です。

3D回転

3D回転エフェクトをかけてみました。
「Space」や「A」で、グルっと回り、全ページを表示できます。

詳細な実装方法は「Androidで3D回転エフェクトをかける方法」で説明しています。
興味があればご覧下さい。

スクリーンキャスト

使い方

この電子ブックリーダはPNGやJPGの画像を纏めてZIP圧縮したファイルを対象としています。

% zip Yoga_Anatomy.zip *.png

対象となるZIPファイルをemulatorから見える場所に配置して利用下さい。
配置方法はSDカードを利用しても可能です。
他には、コマンドを使用する方法が簡単かもしれません。ご参考までに。

% adb push Yoga_Anatomy.zip /tmp
Download

いつものようにeclipseのプロジェクトを公開しておきます。自由にご利用下さい。
comic_viewer_m5_rc14.zip

おわりに

3D回転はとてもテクニカル。勉強になるなぁ。
タッチディスプレイでモーションジェスチャーを実装したい。
でも失敗。時間をうまく取得できない。MotionEvent中は同じ時間になる。
簡単なはずなのに、おかしい。バグかな?ミスかな?ちょっと放置。

アイコン

今回はココのアイコンを使わせてもらいました。Special Thanx!

サンプルの本

サンプルに使わせてもらった本は「YOGA Anatomy」です。見た目のインパクトに惚れました。

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

Comments:5

安藤恐竜 08-02-23 (土) 8:32

ぐりぐり動くし、ぐるぐる回りますねぇ。楽しいなぁ。ぐりぐる。

adamrocker 08-02-23 (土) 11:57

グリグル。ちょっと自分でも気に入ってますw

安藤恐竜 08-03-07 (金) 19:47

m5-rc14も無事Zaurusで動いたので、comic_viewerを動かしてみました。グルグル楽しいグルグル。タッチパネルをなんとかしてグリグリしたいよグリグリ。

どーでもいーよーな細かな点ですけど。スペースでグルリンしてからカーソルで選択して表示させると、下のオーバーレイしているリストの位置計算がずれることがあります。多分、私のzipに入っている画像のサイズがバラバラだからだと思います。

別に直していただきたいとかそんなんじゃ全然ないですから、本当に。いや本当。このままで十分楽しいです。細かな話ですみません。

adamrocker 08-03-09 (日) 0:03

実は、そのバグは私のテスト時にも再現してるんです。
どうにかしたいと思ってるんですが、まだバグ箇所を発見出来ません(汗)

対応としては、リストの位置がずれている状態で、画像を上下左右に動かすと、リスト位置が修正されます。
次のリストに移動するとまたズレちゃいますが…

なんでだろう…

TJ 08-11-21 (金) 18:06

いつも貴重な情報ありがとうございます。
simajiもしっかり使わせていただいています。
さてこのアプリはG1で使用可能でしょうか。
もしそうならば、是非使わせていただきたいと思います。
よろしくお願いします。

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/187/port_book_reader_to_m5-rc14.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