1

双方向スクロール ビューで回転アニメーションを実行する予定です (リンクを参照)。2 方向スクロール ビューの効果が得られましたが、Filp3D タイプのアニメーションを実行すると (リンクを参照)、回転ウィンドウが表示されます。

私は実際に x 軸アニメーションを中心に回転を実行してから、連続したアニメーションを実行したいと考えていました。

私のコードは:

public class MainActivity extends Activity {

ScrollView sv;
WScrollView hsv;
Animation anim;
RelativeLayout rl;
Button b1,b2,b3;

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);

/*BIDIRECTIONAL SCROLLVIEW*/
    sv = new ScrollView(this);
    hsv = new WScrollView(this);
    hsv.sv = sv;
    /*END OF BIDIRECTIONAL SCROLLVIEW*/

    rl = new RelativeLayout(this);
    rl.setBackgroundResource(R.drawable.interactivemap);
    sv.addView(rl, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    hsv.addView(sv, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT /*or FILL_PARENT if API < 8*/));
    setContentView(hsv);

    Window window = getWindow();
    window.setLayout(0, LayoutParams.WRAP_CONTENT);

    /* Animation Effects : Stage I */

    applyRotation(0, 45);

    /* Animation Effects : Stage II */
    /* Still to perform ! */
}

private void applyRotation(final float start, final float end) {
    new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            final float centerX = hsv.getWidth() / 2.0f + hsv.getLeft();
            final float centerY = hsv.getHeight() / 2.0f + hsv.getTop();
            Log.e("center-x center-y ",centerX+"  "+centerY+"found");
            final Flip3dAnimation rotation = new Flip3dAnimation(start, end, centerX, centerY);
            rotation.setDuration(2000);
            rotation.setFillAfter(true);
            rotation.setInterpolator(new LinearInterpolator());
            hsv.startAnimation(rotation);

        }
    }, 10);
}
}

出力:
1)出力は、別の軸を中心としたアニメーションである場合があり、setFillAfter(true) を配置していないかのように非表示になります。これは、Flip3dAnimation クラスに表示されます。これは、2 方向スクロール ビュー リンクに示されています。
2)アニメーションが表示されて持続しますが、カードが 45 度反転したかのように、元のウィンドウのみが 3D 空間で回転します。

スクロール ビュー (2d) を使用しているので、ウィンドウ制限のある 2 番目の出力が必要です。またはゲーム以外の場合は、オープンな 2D サーフェス。

API-8 または 9 の複雑な 2D アニメーションを実行するソース コードを教えてください。

4

0 に答える 0