やりたいこと
Framelayout上に2つの画像iv1とiv2があります。iv1はピッチインアウトに対応しており拡大縮小されます。しかし, iv2はアニメーションが働いておりピッチインアウトに対応させることができません。どうにかして, アニメーション中にピッチインアウトを対応させたいのですがどうすればよいですか。
また余力があればですがiv1とiv2の位置関係も同期させたいです。
ソースコード
java
1private ScaleGestureDetector detector; 2 private float scale = 1f; 3 private ImageView imageView1; 4 private ImageView imageView2; 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_main); 9 imageView1=findViewById(R.id.imageview1); 10 imageView2=findViewById(R.id.imageview2); 11 ObjectAnimator objectAnimator = ObjectAnimator.ofFloat( imageView2, "translationX", 0f, 1000f ); 12 objectAnimator.setDuration( 1000 ); 13 objectAnimator.setRepeatCount(ValueAnimator.INFINITE); 14 objectAnimator.start(); 15 detector = new ScaleGestureDetector(this,new ScaleListener()); 16 } 17 18 public boolean onTouchEvent(MotionEvent event) { 19 detector.onTouchEvent(event); 20 return super.onTouchEvent(event); 21 } 22 23 private class ScaleListener 24 extends ScaleGestureDetector.SimpleOnScaleGestureListener { 25 @Override 26 public boolean onScale(ScaleGestureDetector detector) { 27 scale *= detector.getScaleFactor(); 28 imageView1.setScaleX(scale); 29 imageView1.setScaleY(scale); 30 return true; 31 } 32 33 }
回答1件
あなたの回答
tips
プレビュー