English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Android viewpager 3Dギャラリーの実現方法

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(メール送信時は、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認が取れましたら、このサイトは即座に侵害を疑われるコンテンツを削除します。)

おすすめ