私は簡単なアニメーションでアプリケーションを開発したいと思います。 http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Arcs.htmlカスタムコンポーネント - キャンバスアニメーションを操作する、または他の何かを使用する
マイコード:私は、元のソースの多くを使用している私は私のxmlファイルにこのように私の見解を使用してい
public class Animation extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
private static class AnimView extends View {
private Paint myPaint;
private Paint myFramePaint;
private RectF bigOval;
private float myStart;
private float mySweep;
private static final float SWEEP_INC = 1;
public AnimView(Context context) {
super(context);
init();
}
public AnimView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
myPaint = new Paint();
myPaint.setAntiAlias(true);
myPaint.setStyle(Paint.Style.FILL);
myPaint.setColor(Color.RED);
bigOval = new RectF(40, 10, 280, 250);
myFramePaint = new Paint();
myFramePaint.setAntiAlias(true);
myFramePaint.setColor(Color.BLACK);
}
private void drawArcs(Canvas canvas, RectF oval, boolean useCenter, Paint paint) {
canvas.drawRect(oval, myFramePaint);
canvas.drawArc(oval, myStart, mySweep, useCenter, paint);
}
@Override
protected void onDraw(Canvas canvas) {
drawArcs(canvas, bigOval, true, myPaint);
myStart = -90;
mySweep -= SWEEP_INC;
invalidate();
}
}}
:
<view
class="go.android.Animation$AnimView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
は、それが正常に動作します。私はカスタムアニメーションではないことを知っています。しかし、このアニメーションの速度をmsまたは秒で設定することは可能ですか?または、このアニメーションを停止する(OnClickやOnTouch Listenerなど)、このアニメーションがいつ終了したかを知ることができますか?
私はまた、最初の完全な円を取得したい、アニメーションの最後に - 円の欠如。このアニメーションの方向を変更するだけです。これは可能ですか?
私はフレームごとのアニメーションを使いたくありません。私は連続アニメーションを取得したい。類似のアニメーションを得る可能性はありますか?(速度の設定など) 私はまた、色だけでなく円形の描画可能なものをアニメーション化したいと思います。
ありがとうございます。私の英語力は申し訳ありません。
カスタムAndroidレイアウトでOpenGLの要素を使用することは可能ですか?この質問の私の例と同様の方法で - いくつかのビューのように? – woyaru
カスタム[GLSurfaceView](http://developer.android.com/reference/android/opengl/GLSurfaceView.html)を作成することができます。しかし、今私はそれについて考えて、それはおそらくそのような小さな規模で何かのために価値がないです。ただ1つの円弧についてはこれでうまくいくはずです。開発者は、あなたがリンクしたサンプルコードを書いたときに確信していました。 – theisenp
はい、これは小規模です。しかし、私は単純なアニメーションだけでなく、それを停止する方法、時間を秒単位で変更したり、いくつかの描画可能なもので管理したりしたいだけです。私は修正している。 – woyaru