iOS には、ビューが最初に表示されたときのように、スクロールバーを短時間点滅させることができるクラスのflashScrollIndicators
メソッドがあります。UIScrollView
スクロール可能なビュー(ScrollView、ListView、WebViewなど)でスクロールバーを短時間点滅させるために、これに相当するAndroidをドキュメントで見つけることができません。ビューでを発行しようとしrequestLayout()
ましたが、うまくいきませんでした。
私がこれを尋ねている理由は、ビューがに含まれてViewPager
おり、ユーザーが別のページにスワイプすると、そのページはすでに描画されており、スクロールバーが点滅しないことが多いためです。
ここで自分の質問に答える
メソッドが呼び出され、クラスawakenScrollBars
で定義されます。View
残念ながら、メソッドはprotected
そのため、ScrollView、ListView、またはスクロールバーを点滅させたいビューをサブクラス化する必要があります。
または、パブリックメソッドもスクロール バーscrollTo
をscrollBy
点滅させますが、スクロール位置が実際に変更された場合のみです。そのため、 felistView.scrollBy(0,0)
は機能せずlistView.scrollTo(0,0)
、ビューがまだ一番上にない場合にのみ機能します。
ビューをサブクラス化できない場合、次のように動作するように見えますが、確かにハックのようなものです。
view.setVisibility(View.INVISIBLE);
view.setVisibility(View.VISIBLE);
ビューを非表示に設定してからすぐに再度表示しても、再描画は発生しないようですが、スクロールバーの点滅をトリガーするという副作用があります。