我爲Android寫了一個suduko遊戲,如果用戶插入錯誤的數字,並且想要設置動畫效果。 但我不知道如何做到這一點?問題是,我有一個很大的旋鈕蓋住屏幕,然後用瓷磚線將這個矩形放在瓷磚中。現在我不知道如何動畫瓷磚。Android動畫
我可以解釋我的問題。
對不起,我的英語不好,和thaks答案)
我爲Android寫了一個suduko遊戲,如果用戶插入錯誤的數字,並且想要設置動畫效果。 但我不知道如何做到這一點?問題是,我有一個很大的旋鈕蓋住屏幕,然後用瓷磚線將這個矩形放在瓷磚中。現在我不知道如何動畫瓷磚。Android動畫
我可以解釋我的問題。
對不起,我的英語不好,和thaks答案)
如果使用標準的意見,你可以看看tween animation,即定義一組動畫,從資源加載它們,並將它們連接到您的意見/啓動動畫。
看一看the spaceship jump example這裏。
如果你自定義繪製,恐怕你也需要做自定義動畫。
你不應該引起你的板子那樣。我建議將一個tile作爲View的子類實現,然後您可以單獨爲每個動畫製作動畫。
試試這個看動畫是如何工作的:
瓷磚類
public class Tile extends View {
private RectF mRect;
private Paint mPaint;
public Tile(Context context) {
super(context);
init();
}
public Tile(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public Tile(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private void init(){
mRect = new RectF(0, 0, 100, 100);
mPaint = new Paint();
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(Color.BLUE);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawRect(mRect, mPaint);
}
}
主要活動
public class MainActivity extends Activity implements OnClickListener {
private Tile mTile;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
layout.setBackgroundColor(Color.WHITE);
layout.setPadding(50, 50, 50, 50);
Button btn = new Button(this);
btn.setText("Click Me");
btn.setOnClickListener(this);
layout.addView(btn);
mTile = new Tile(this);
layout.addView(mTile);
setContentView(layout);
}
@Override
public void onClick(View v) {
Animation scaleAnim = AnimationUtils.loadAnimation(this, R.anim.scale);
mTile.startAnimation(scaleAnim);
}
}
動畫定義(該文件應該被命名爲scale.xml
和放置呃目錄/res/anim
)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0"
android:toXScale="2.0"
android:fromYScale="1.0"
android:toYScale="2.0"
android:fillAfter="false"
android:repeatCount="1"
android:repeatMode="reverse"
android:duration="700" />
</set>
瞭解更多關於動畫here。 要讓你自己的動畫在這裏看看here。
希望這讓你去。
感謝回答) –
使用Animator/AnimatorSet,動畫類是傳統代碼 – Lunatikul
與蜂窩的事情之前的動畫工作是一個真正的痛苦。我建議下載NineOldAndroids庫(http://nineoldandroids.com/)並將其用作導入,這樣您就可以在所有版本的Android(甚至高達1.0)上使用Honeycomb動畫API。
我嘗試編寫自定義動畫,但無法解決問題。 我有一個矩形覆蓋孔篩,我不能動態顯示矩形的只是其中的一部分(( –
http://www.vogella.com/tutorials/AndroidAnimation/article.html遵循這也 – hitesh141