0

7 つの「ページ」を持つ ViewPager があり、ページ番号 4 を表示しているとします。

1 2 3 [4] 5 6 7

以下の設定で、

pager.setOffscreenPageLimit(3);

ViewPager は 7 ページすべてをロードします (または FragmentStatePagerAdapter から getItem() 関数を呼び出します)。

現在表示されているページ (この場合は 4 ページ) に対して別の関数/コードを呼び出す方法はありますか? たとえば、画像のギャラリーを作成しようとしていて、最適なメモリ管理のためにページ 4 に高品質の画像をロードしながら、ページ 1、2、3、5、6、および 7 に低品質の画像をロードしたいと考えています。ユーザーがページ 5 に切り替えると、5 以外のすべてのページの画像は低品質になります。ありがとう!

4

1 に答える 1

0

独自の ViewPager を作成し、コールバック関数を実装すると setOnPageChangeListener(ViewPager.OnPageChangeListener listener) 、トリガーをキャッチしてViewPager.SETTLING、現在のビューをより高い解像度の画像で更新できます。それをキャッチすることで、ViewPager.SETTLING安定する前に高解像度の画像の読み込みを開始できますViewPager.IDLING

于 2013-05-30T21:07:42.603 に答える