新しいActivityでWebViewを読み込み完了後に画面を遷移させたい

1,116 views
Skip to first unread message

bis

unread,
Jul 11, 2011, 10:42:53 PM7/11/11
to 日本Androidの会
皆様、はじめまして。
本当に困ったときにここに助けようと思っていたら
早速その時が来てしまいました(^^;)

本題ですが、現在WebViewを使用し、画面内のaリンクがタップされたら
別のActivityを作成して表示させるという実装をしています。
閲覧するページが重いせいか、現在の動きは
タップ→新しいActivityが立ち上がる→読込中…→表示
となっています。

なぜ、毎回新しいActivityを作成しているのかは、
画面遷移のアニメーションつけたいということと
バックボタンで前画面の状態をすぐ表示できるという理由からです。

ご教授いただきたい内容は
タップ→読込中→次のページのActivityが表示されるタイミングではWebページの読み込みは完了している
です。

説明がわかりにくいかもしれませんが
内容を汲み取っていただけた方、いらっしゃいましたらどうぞよろしくお願い致します。

プーさん

unread,
Jul 12, 2011, 7:02:37 PM7/12/11
to 日本Androidの会
shouldOverrideUrlLoadingを使ってActivityを
立ち上げてると思いますが。
loadurlの前に擬似的にAnimationを挟んだほうが良いのでは?
と思います。

Activityの起動順序からすると、
Activityが表示されるタイミングではWebページの読み込み完了
は難しいと思います。

http://developer.android.com/reference/android/app/Activity.html

LazyLoad with jQuery
などを使ってサーバ側を改善してらどうでしょうか。

Koji Ohno

unread,
Jul 13, 2011, 8:34:18 AM7/13/11
to android-g...@googlegroups.com
こんばんは、大野と申します。

先日「BGWeb」というアプリをリリースしました。
マーケットページ→ http://goo.gl/diAgY

このアプリでは、
1.intent で他のアプリから起動される
2.バックグラウンドでWEBページを読み込む
3.読み込みが完了したらステータスバーで通知
4.通知をタップするとactivityを前面に表示
という処理を行っています。

3の部分を、読み込みが完了したらactivityを前面に表示、という処理にすれば、
ご希望の動作に近いものが出来るのではないかと思います。

BGWebの実装をざっくり説明すると
・AndroidManifest.xmlのactivityタグに android:launchMode="singleInstance" を
追加して、1タスク1activityにする。
・activity が起動されたときに moveTaskToBack メソッドでactivity を裏に持っていく
・onPageFinished イベントでステータスバーに通知を表示
という処理をしています。

今の私の実装だと、moveTaskToBack の前にactivity が一瞬見えてしまったりするので、
そのあたりは試行錯誤が必要かもしれません。

何かのヒントになれば幸いです。


2011年7月12日11:42 bis <mas...@gmail.com>:

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>

Reply all
Reply to author
Forward
0 new messages