0

次のアニメーションがあります。

    ImageView fallingLeave = (ImageView) rootView.findViewById(R.id.lemonpiece1_large);
                   mButtonProxy = AnimatorProxy.wrap(fallingLeave);

                   // Set up the path we're animating along
                   AnimatorPath path = new AnimatorPath();
                   path.moveTo(0,0);
                   path.curveTo(0, 0, 0 , 80, -80, 70);
                   fallingLeave.setRotation(80);
                   path.curveTo(-80, 70, -80, 120, 80, 140);
                   path.curveTo(80, 140, 80, 190, -80, 210);


                   // Set up the animation
                   final ObjectAnimator anim = ObjectAnimator.ofObject(this, "buttonLoc",
                           new PathEvaluator(), path.getPoints().toArray());
                   anim.setDuration(2000);


                   anim.start();

問題は、パスがピクセル単位で固定されていることです。私がやりたいのは、パスピクセルを独立して設定することです。それを達成する方法はありますか?

変数をDimensions.xmlにリンクしようとしましたが、うまくいきませんでした。ピクセルパスをピクセル密度比で乗算したいのですが、デバイスの密度比の値を返すことができる関数があるかどうかわかりません.

どんな助けでも感謝します。

4

4 に答える 4

1

私でさえ、これを達成しようとして本当に苦労しました.「dip」または「dp」単位で指定されたピクセルに依存しないようにすることができます。

このリンクは良いスタートになるはずです:

http://developer.android.com/guide/practices/screens_support.html

これらの投稿も参照してください。

JavaコードからDIPで寸法を指定する正しい方法は何ですか?

Android:コードでディップ(密度に依存しないピクセル)を使用する方法は?

于 2013-09-05T14:40:14.910 に答える
0
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);

dm.xdpi()とを使用dm.ydpi()して、X 次元と Y 次元のピクセル密度を取得します。

于 2013-09-05T14:39:04.367 に答える