簡體   English   中英

在創建時對視圖/裝備進行動畫處理?

[英]Animate View/Rect on creation?

我的onCreate方法中有以下代碼:

layout.getViewTreeObserver().addOnGlobalLayoutListener(
            new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    Paint p = new Paint();
                    field = new Token[FIELDSIZE][FIELDSIZE];
                    for (int i =0; i < FIELDSIZE ; i++) {
                        for (int j = 0; j < FIELDSIZE; j++) {
                            Token tmp = new Token(j, i, p, false, PlayActivity.this);
                            field[j][i] = tmp;
                            layout.addView(tmp);
                        }
                    }

我創建這個:

在此處輸入圖片說明

但是就在那兒,活動開始了。 我該如何制作動畫? 像一個又一個淡入淡出/飛起來的東西?

提前致謝

您應該嘗試一下:

layout.getViewTreeObserver().addOnGlobalLayoutListener(
            new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    Paint p = new Paint();
                    field = new Token[FIELDSIZE][FIELDSIZE];
                    for (int i =0; i < FIELDSIZE ; i++) {
                        for (int j = 0; j < FIELDSIZE; j++) {
                            Token tmp = new Token(j, i, p, false, PlayActivity.this);
                            field[j][i] = tmp;
                            // Make it invisible in the beginning
                            tmp.setAlpha(0);
                            layout.addView(tmp);
                            tmp.animate()
                                .alpha(1.0)
                                .setDuration(600)
                                .setStartDelay(100 + i * FIELDSIZE * 10 + j * 10);
                        }
                    }

您可以嘗試使用這些值,直到它們對您有利。 您也可以像下面這樣嘗試setScaleX和setScaleY:

tmp.setScaleX(0);
tmp.setScaleY(0);

然后再:

tmp.animate()
   .scaleX(1.0)
   .scaleY(1.0)
   .setDuration(600)
   .setStartDelay(100 + i * FIELDSIZE * 10 + j * 10);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM