android中的動畫
android中提供三種動畫型別:
<1>view animation(檢視動畫):
1>tween(補間動畫)
以下動畫配置檔案放在 res/anim 下
(1)漸變動畫
屬性:android:fromalpha 開始漸變的值(0-1)
android:toalpha 結束漸變的值(0-1)
ndroid:duration 時間(毫秒)
animation animation = animationutils.loadanimation(this, r.anim.alpha_anim);
imageview.startanimation(animation);
(2)縮放動畫
屬性:fromxscale 起始縮放的比例x座標 0表示縮放到最小
fromyscale 起始縮放的比例y座標 0表示縮放到最小
toxscale 結束縮放的比例x座標 1表示縮放到的原始大小
toyscale 結束縮放的比例y座標 1表示縮放到的原始大小
pivotx 縮放相對於開始x座標的位置 50%表示一半
pivoty 縮放相對於開始y座標的位置 50%表示一半
duration 時間
animation animation = animationutils.loadanimation(this, r.anim.scale_anim);
imageview.startanimation(animation);
(3)移動動畫
屬性:fromxdelta 起始位置x座標 0 表示元件所在的原始位置x
fromydelta 起始位置y座標 0 表示元件所在的原始位置y
toxdelta 要移動的x值
toydelta 要移動的y值
animation animation = animationutils.loadanimation(this, r.anim.translate_anim);
imageview.startanimation(animation);
(4)旋轉動畫
屬性:fromdegrees 開始的角度 0 表示原始位置的角度
todegrees 要旋轉的角度 360表示順時針,-360表示逆時針
pivoty 旋轉的支點y 50%表示元件的y的中間位置
pivotx 旋轉的支點x 50%表示元件的x的中間位置
animation animation = animationutils.loadanimation(this, r.anim.rotate_anim);
imageview.startanimation(animation);
2>frame(幀動畫)
實現乙個frame動畫:
在res/drawable下建立乙個配置檔案:比如,anim_list.xml
<?xml version="1.0" encoding="utf-8"?>
在imageview元件的布局檔案中通過src屬性引用 動畫檔案:
drawable animation
selector/shape/layer
(見ui元件部分課程筆記)
<3>property animation(屬性動畫)
屬性動畫是android3.0後新增加動畫系統,可以作用於所有元件。
通常設定的屬性(propertyname):
alpha 透明度(0-1)
scalex scaley 縮放
rotationx rotationy 旋轉
translationx translationy 移動
objectanimator 作用於某乙個物件上的動畫系統
常用方法:
offloat(target,propertyname,float... values)
ofint(target,propertyname,float... values)
target:目標元件
propertyname:動畫屬性
values:動畫效果的值
public void startclick(view view)
//元件多個動畫屬性
private void propertyvaluesholder(view view)
valueanimator的使用
valueanimator首先關注的是動畫屬性值的本身,再通過監聽動畫的更新來把動畫的值作用
於乙個元件上。與objectanimator的區別是,objectanimator是直接把動畫屬性和值
作用於乙個元件上來完成。
//valueanimator
public void musicstackclick(view view)
});va.start();
}監聽屬性動畫的事件過程:
objectanimator anim = objectanimator.offloat(view, "alpha", 1f, 0f).setduration(500);
anim.addlistener(new animator.animatorlistener()
public void onanimationend(animator animation) {}
public void onanimationcancel(animator animation) {}
public void onanimationrepeat(animator animation) {}
});}
也可以使用animatorlisteneradapter來重寫需要的方法
public void onanimationend(animator animation) {}
private void objectanimatorlistener(view view)
}});
oa.start();
使用animatorset組合多個動畫
objectanimator o1 = objectanimator.offloat(v,"translationx",0f,200f);
//新增插值器(加速度)
o1.setinterpolator(new accelerateinterpolator());
objectanimator o2 = objectanimator.offloat(v,"translationy",0f,200f);
//新增插值器
o2.setinterpolator(new accelerateinterpolator());
objectanimator o3 = objectanimator.offloat(v,"rotation",0f,360f);
//新增插值器(結束後抖一抖)
o3.setinterpolator(new bounceinterpolator());
animatorset set = new animatorset();
set.setduration(1000);
// set.playtogether(o1,o2,o3);//同時執行
// set.setstartdelay(1000); //延遲多長時間執行
//先執行o1和o2,再執行o3
set.play(o1).with(o2);
set.play(o3).after(o2);
set.start();
使用xml配置檔案來設定屬性動畫
在res/animator/下建立配置檔案:
<?xml version="1.0" encoding="utf-8"?>
然後在**中載入xml配置檔案後,啟動動畫:
//載入xml配置的屬性動畫檔案
animator a = animatorinflater.loadanimator(this,r.animator.alpha_animator);
a.settarget(view); //設定動畫要應用到的目標元件
a.start();
面試題:問android中有幾種動畫型別?三種動畫型別分別是什麼?
<1>view animation(檢視動畫)
<2>drawable animation(也可以稱為檢視動畫)
<3>property animation(屬性動畫)
jquery中stop停止動畫筆記
jquery stop 方法用於停止動畫或效果,在它們完成之前。stop 方法適用於所有 jquery 效果函式,包括滑動 淡入淡出和自定義動畫。語法 selector stop stopall,gotoend 可選的 stopall 引數規定是否應該清除動畫佇列。預設是 false,即僅停止活動的...
android中的動畫
幀動畫 屬性動畫 view動畫 補間動畫 幀動畫 1 建立資料夾drawable 2 在資料夾drawable建立xml檔案 3 布局檔案 activity public class mainactivity extends activity public boolean ontouchevent ...
Android中的動畫效果
alphaanimation animation new alphaanimation 0,1 animation.setduration 1000 view.startanimation animation 從0不顯示到1全顯示 rotateanimation animation new rota...