雅虎過度效果

2021-07-22 13:30:47 字數 3061 閱讀 9322

這是我以前在做雅虎介面效果的**,廢話不多說,直接上**:

1、主介面:(沒有xml布局,都是通過**實現):

public class mainactivity extends activity 

/** 延遲3s */

private void startloadingdata()

},3000);//延遲時間 }

/** 執行其餘動畫 */

protected void onloadingdataend()

}

2、 imageview類(相當於new imageview(this))

public class contentview extends imageview 

}

3、繼承view的主要動畫實現類

/**

* 自定義view

* * @author weica

* 說明:

* 1.先在建構函式中執行第一次旋轉動畫

* 2.然後再主線程的定時器方法完成後,呼叫第二個6圓縮放動畫,

* 以此類推,到中心圓縮放動畫,到擴散動畫,最後顯示主介面

* */

public class splashview extends view

/*** 構造方法

* * @param context

*/public splashview(context context)

private void initialize(context context)

/*** 定義乙個抽象類--動畫狀態類 作用:讓幾個動畫狀態類開始執行後都開始繪製各自的介面--invalidate--》ondraw()

* 通過ondraw方法統一控制呼叫drawstate方法來繪製介面

* */

private abstract class splashstate

// 每次介面重新整理都會呼叫的--繪製

@override

protected void ondraw(canvas canvas)

// 分發到各個動畫狀態類---繪製各自的影象

mstate.drawstate(canvas);

} /** 第一次執行的動畫,設定預設執行的動畫物件 */

private void handlefirstdraw()

/*** 定義第乙個動畫---旋轉動畫 大圓( 包含了6個小圓) (繼承抽象類的子類,其中把drawstate方法寫好,等待ondraw呼叫方法)

*/private class rotationstate extends splashstate

});// 重複次數為無窮

manimator.setrepeatcount(valueanimator.infinite);

// 設定讓他不斷地旋轉 --迴圈

manimator.setrepeatmode(valueanimator.restart);

// 開始執行

manimator.start();

} @override

public void drawstate(canvas canvas)

public void cancel()

} /** 繪製大圓背景 */

public void drawbackground(canvas canvas) else

} /** 繪製裡面的小圓 */

public void drawcircles(canvas canvas)

} /**

* 定義第二個動畫---6個小圓聚合動畫

*/private class mergingstate extends splashstate

});// 設定監聽--

animator.addlistener(new animatorlisteneradapter()

});// 插值器(interpolator)彈射的效果,注意:縮放動畫就是因為這個屬性會先變大一下再縮小

animator.setinterpolator(new overshootinterpolator(6f));

// 保持動畫執行後的狀態

animator.reverse();

} @override

public void drawstate(canvas canvas)

} /**

* 定義第三個動畫---(為了更加美觀,最好處理一下縮放後,中心點的圓再進行縮放) 中心點位置單獨的圓的縮放動畫效果

*/private class singularitystate extends splashstate

});// 監聽

animator.addlistener(new animatorlisteneradapter()

});animator.reverse();

} @override

public void drawstate(canvas canvas)

} /**

* 定義第四個動畫--- 空心圓動畫

*/private class expandingstate extends splashstate

});animator.start();

} @override

public void drawstate(canvas canvas)

} /**

* (暴露的方法,其餘動畫的入口)

* 執行第二部分的動畫然後消失,顯示contentview

*/// mstate不為null,並且是第乙個動畫例項

if (mstate != null && mstate instanceof rotationstate)

});} }

/** 畫單圓 */

變形效果 過度效果

變形效果 transform 屬性值為變形函式 1 縮放函式scale x,y saclex x sacle y 大於1方大小於1縮小 2 平移函式translate x,y translatex x translatey y 相對於元素的原始位置進行平移 3 旋轉函式rotate deg 單位為d...

Tweening過度緩動效果

tweening 過度緩動效果 1.首先介紹 easing 緩動效果。要實現如上效果,必須把目標物件按設定的時間閥值內移動到指定的位置,該曲線隨著時間的推移,速度越來越快,實現這種效果必須用到二次方程。下面是建構函式中核心 sprite.addeventlistener event.enter fr...

如何給網頁新增等待是的過度效果

先在你的頁面上載入這個js 這個是你自己寫的 自上而下執行 會優先載入這個 然後在這個js裡寫 當然 這一切 都是為了給你想顯示的那個 乙個排版 核心1 在document.write 上 是把上面的html 寫在頁面 這樣能優先顯示他 核心2 這段 表示 一直監聽 的狀態 上面completelo...