Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

記事画面でコメントが一瞬出るのを直しましょう #32

Open
ymnder opened this issue Jan 27, 2019 · 1 comment
Open

Comments

@ymnder
Copy link
Contributor

ymnder commented Jan 27, 2019

記事画面に遷移したときに、一瞬コメントが表示されます。記事が表示されるタイミングでガタついてしまうので、読み込みが終わった時点で表示されるようにしましょう。

@ymnder
Copy link
Contributor Author

ymnder commented Jan 27, 2019

一瞬コメントが表示されてしまう理由を考えてみます。
step1: StoryActivityの表示要素を知る
StoryActivityの表示要素を定義しているxmlを探します。
中身を見ると、ScrollViewの中にWebViewとRecyclerViewが入っていることが確認できます。

ScrollViewは表示要素が画面よりも大きい場合にスクロールできるViewです。
WebViewはアプリ内でWebのコンテンツを表示できるViewです。
 このActivityでは、記事を表示するのに使用しています。
RecyclerViewはリストを表示できるViewです。
 このActivityでは、コメントを表示するのに使用しています。

step:2 Viewを隠してみる
一瞬表示されてしまうということは、どういう状態が起きているかを考えてみます。
記事を表示する処理と、コメントを表示する処理は、それぞれ非同期的に行われています。
記事よりもコメントの読み込みが早かった場合、先にコメントのリストが表示されます。
その後、遅れてきた記事がコメントの上に表示されるため、ガタついてしまいます。

WebViewが表示されるまでRecyclerViewが表示されないようにする
というのが、このissueを解決する手立てになりそうです。

Viewを表示する/しないという切り替えを動的に行うメソッドはあるか、検索してみましょう。

step3: どのタイミングでViewを表示する
WebViewが表示されるまでRecyclerViewが表示されないようにする
ことを実現するには、WebViewの描画が終わったタイミングが鍵を握っていそうです。
WebViewの読み込みが終わったタイミングであれば、記事の下にコメントを表示してもガタつきません。
WebView load page finished と検索をかけると、読み込みが終わったタイミングを教えてくれるメソッドが見つかりそうです。

wada811 added a commit to wada811/codelabs-challenge-app-2019 that referenced this issue Feb 8, 2019
wada811 added a commit to wada811/codelabs-challenge-app-2019 that referenced this issue Feb 8, 2019
…ding-in-detail

DroidKaigi#32 記事画面でコメントが一瞬出るのを直しましょう
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants