English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
ViewPagerには以下のようなメソッドがあります:
setPageTransformer(boolean reverseDrawingOrder, PageTransformer transformer)
ViewPagerの切り替え時のアニメーション効果を設定するために使用されます。
ここでは、必要なアニメーション効果を実現するためにカスタムPageTransformerを定義するだけで十分です!
public class ScrollOffsetTransformer implements PageTransformer { private static final float MIN_SCALE = 0.85F; /** * positionパラメータは、指定されたページがスクリーン中心に対する位置を示します。これは動的な属性であり、ページのスクロールに応じて変更されます。 * ページ(page)が画面全体を埋める場合、positoinの値は0;ページ(page)が画面の右(左)側から少し離れたとき、positionの値は1(-1); * 2つのページがそれぞれ半分にスクロールしたとき、一方のページは-0。5、もう一方のページは0です。5。 * スクリーン上のページの位置に基づいて、setAlpha()、setTranslationXなどのメソッドを使用して、 * ()やsetScaleY()メソッドを使用してページの属性を設定し、カスタムスライドアニメーションを作成します。 */ @Override public void transformPage(View view, float position) { // TODO Auto-生成されたメソッドスタブ float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position)); float rotate = 30 * Math.abs(position); float transla = 50 * Math.abs(position); if (position > 0) { view.setScaleX(scaleFactor); view.setScaleY(scaleFactor); view.setRotationY(-rotate); view.setTranslationX(-transla); } else { view.setScaleX(scaleFactor); view.setScaleY(scaleFactor); view.setRotationY(rotate); view.setTranslationX(transla); } } }
次に
viewPager
加えて
viewPager.setPageTransformer(true, new ScrollOffsetTransformer())
以上は、編集者が皆さんに紹介したAndroid viewpagerです。 3Dギャラリーの実現方法、皆さんに役立つことを願っています。何か疑問があれば、コメントを残してください。編集者は迅速に回答します。皆さんのこのチュートリアルサイトへのサポートに感謝しています!
声明:この記事の内容はインターネットから提供され、著作権者に帰属します。コンテンツはインターネットユーザーによって自発的に貢献し、アップロードされました。このサイトは所有権を持ちません。人工編集は行われていません。また、関連する法的責任を負いません。著作権侵害を疑う内容が見つかりましたら、メールで:notice#w までお知らせください。3codebox.com(メール送信時は、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認が取れましたら、このサイトは即座に侵害を疑われるコンテンツを削除します。)