用户滚动时旋转ImageView(ViewPager)

时间:2015-02-22 12:05:56

标签: android android-activity android-fragments android-viewpager android-animation

我的Android应用程序中有2个片段的ViewPager。第二个片段(页面)有ImageView。当用户将页面从一个页面滚动到另一个页面时,是否可以如下图所示扭转(旋转)ImageView!

感谢您提供任何帮助enter image description here

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。您需要一个实现PageTransformer接口的类。您实现的回调接收两个参数。一个视图,onCreateView的结果,以及位置,即-1(左侧屏幕的页面)和1(右侧屏幕的页面)之间的值。当position为0时,视图居中。您必须挂钩,从view参数中检索ImageView,然后调用ViewCompat.setRotation()。 E.g:

public class RotatePageTransformer implements ViewPager.PageTransformer {

    public void transformPage(View view, float position) {
          if (position > -1 && position < 1) {
              ImageView imageView = (ImageView) view.findViewById(R.id.imageView);
              if (imageView != null) {
                       ViewCompat.setRotation(imageView, angle); 
              }
          }
    }
 }

当然你必须根据你的用例进行调整