編輯:關於Android編程
android的動畫效果包括:移動,漸變透明度,旋轉,縮放。
實現動畫的方式有兩種:在java代碼中動態實現,在xml中靜態實現。
動態實現:
/*
動畫的透明度漸變
*/
AlphaAnimation alphaAnimation = new AlphaAnimation(1f,0);//透明度從1到0
alphaAnimation.setDuration(1000);//完成漸變的時間
alphaAnimation.setStartOffset(200);//響應時間
mImageViewAnim.startAnimation(alphaAnimation);//用一個ImageView加載animation,Image務必放入src或者加載過background
/*
動畫的移動
*/
TranslateAnimation translateAnimation =
//從一個坐標到另一個坐標的移動,參數依次為:起始點橫、縱坐標,結束點橫、縱坐標
new TranslateAnimation(-mImageViewAnim.getMeasuredWidth(),0,0,0);
translateAnimation.setDuration(1000);
translateAnimation.setStartOffset(200);
mImageViewAnim.startAnimation(translateAnimation);
/*
動畫的旋轉
*/
RotateAnimation rotateAnimation = new RotateAnimation(0,360);//默認沿著左上角旋轉
rotateAnimation.setDuration(1000);
rotateAnimation.setStartOffset(200);
mImageViewAnim.startAnimation(rotateAnimation);
/*
動畫的縮放
*/
ScaleAnimation scaleAnimation = new ScaleAnimation(1f,2f,1f,2f);//水平尺寸變化,豎直尺寸變化
scaleAnimation.setDuration(1000);
scaleAnimation.setStartOffset(200);
mImageViewAnim.startAnimation(scaleAnimation);
動畫的合並加載,需要一個AnimationSet,將所有的animation加載進去:
/**
* 聲明一個AnimationSet,是一個存儲animation的集合
* false:被此set加載的每個animation用自己的interpolator;
* true:所有animation功用一個interpolator
*/
AnimationSet animationSet = new AnimationSet(false);
AlphaAnimation alphaAnimation = new AlphaAnimation(1f,0);
TranslateAnimation translateAnimation =
new TranslateAnimation(0,0,mImageViewAnim.getMeasuredWidth(),mImageViewAnim.getMeasuredHeight());
RotateAnimation rotateAnimation = new RotateAnimation(0,360,RotateAnimation.RELATIVE_TO_SELF
,0.5f,RotateAnimation.RELATIVE_TO_SELF
,0.5f);//RELATIVE_TO_SELF的意思是位置相對於自己
ScaleAnimation scaleAnimation = new ScaleAnimation(1f,2f,1f,2f);
alphaAnimation.setDuration(1000);
translateAnimation.setDuration(1000);
rotateAnimation.setDuration(1000);
scaleAnimation.setDuration(1000);
//添加各個動畫
animationSet.addAnimation(alphaAnimation);
animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(rotateAnimation);
animationSet.addAnimation(scaleAnimation);
mImageViewAnim.startAnimation(animationSet);
這樣運行的效果就是所有動畫組合咋一起的效果。
動畫的靜態加載,需要在res目錄下新建一個文件夾anim,在裡面新建一個資源文件,我的叫rotation.xml
在java代碼中調用這個資源:
AnimationUtils utils = new AnimationUtils();
Animation animation = utils.loadAnimation(getApplicationContext(),R.anim.rotation);
mImageViewAnim.startAnimation(animation);
運行的效果是幾種xml中幾種動畫的綜合。
本文實例分析了Android模擬器接收UDP數據包的若干問題。分享給大家供大家參考,具體如下:android模擬器無法接收UDP數據包代碼如下:DatagramPacke
public boolean dispatchTouchEvent(MotionEvent ev){} 用於事件的分發,Android中所有的事件都必須經
在了解ViewPager的工作原理之前,先回顧ListView的工作原理:ListView只有在需要顯示某些列表項時,它才會去申請可用的視圖對象;如果為所有的列表項數據創
本文主要記錄一下Android SQLiteDatabase中如何判斷數據庫中表是否存在,以及測試SQLiteDatabase數據庫的基本操作。有關SQLite的詳細說明
我們知道有不少開源工程,能實現很多不錯的效果。前幾天,我看了一個效果,剛