百思不得其解,关于立方体旋转动画(垂直方向)
想做个自定义的view 竖直滑动手势就是翻页。
效果大概是这样的
我用的是属性动画。
用的rotation那个方法让下面的view从-90转到0 上面的view从0转到90
但是 效果跟预期不一样。
求助,有做过的大神来帮帮忙。十分感谢。
下面是我的主要的代码
public class MainActivity extends Activity {
private Button btn;
private ImageView ia, ib;
private int i = -90;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.button);
ia = (ImageView) findViewById(R.id.imageView1);
ib = (ImageView) findViewById(R.id.imageView2);
ia.setPivotX(100);
ia.setPivotY(0);
ib.setPivotX(100);
ib.setPivotY(200);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ObjectAnimator oa = ObjectAnimator.ofFloat(ib, "rotationX",
-90, 0);
// ObjectAnimator oa2 = ObjectAnimator.ofFloat(i2, "pivotY", 200,
// 0);
ObjectAnimator oa3 = ObjectAnimator.ofFloat(ia, "rotationX", 0,
90);
// ObjectAnimator oa4 = ObjectAnimator.ofFloat(i1, "pivotY", 200,
// 0);
;
oa.setDuration(10000);
// oa2.setDuration(10000);
oa3.setDuration(10000);
// oa4.setDuration(10000);
oa.setInterpolator(new LinearInterpolator());
// oa2.setInterpolator(new LinearInterpolator());
oa3.setInterpolator(new LinearInterpolator());
// oa4.setInterpolator(new LinearInterpolator());
AnimatorSet as = new AnimatorSet();
as.playTogether(oa, oa3);
as.start();
}
});
}
}
android:text="123" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:rotationX="-90"
android:scaleType="fitXY"
android:src="@drawable/tx" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/tx" />
<!--
<com.example.zdemo10.CubeView
android:id="@+id/imageView3"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
-->
</RelativeLayout>