目錄
第8節(jié).Setting Colors(MPAndroidChart中文翻譯)
第9節(jié).Formatting Data Values (ValueFormatter)(MPAndroidChart中文翻譯)
第10節(jié)-Formatting Axis Values (AxisValueFormatter)(MPAndroidChart中文翻譯)
第11節(jié).General Settings & Styling(MPAndroidChart中文翻譯)
第12節(jié).Specific Settings & Styling(MPAndroidChart中文翻譯)
第13節(jié).Legend(MPAndroidChart中文翻譯)
第14節(jié).Dynamic & Realtime Data(MPAndroidChart中文翻譯)
第15節(jié). Modifying the Viewport(MPAndroidChart中文翻譯)
第16節(jié).Animations(MPAndroidChart中文翻譯)
第17節(jié). MarkerView (Popup View)(MPAndroidChart中文翻譯)
第18節(jié). The ChartData class(MPAndroidChart中文翻譯)
第19節(jié). ChartData subclasses(MPAndroidChart中文翻譯)
第20節(jié). The DataSet class (general DataSet styling)(MPAndroidChart中文翻譯)
第21節(jié). DataSet subclasses (specific DataSet styling)(MPAndroidChart中文翻譯)
第22節(jié). The ViewPortHandler(MPAndroidChart中文翻譯)
第23節(jié). Customizing the Fill-Line-Position (FillFormatter)(MPAndroidChart中文翻譯)
第24節(jié). Proguard(MPAndroidChart中文翻譯)
第25節(jié). Realm.io mobile database(MPAndroidChart中文翻譯)
第26節(jié). Creating your own (custom) DataSets(MPAndroidChart中文翻譯)
第27節(jié). Miscellaneous (more useful stuff)(MPAndroidChart中文翻譯)
注意:動畫僅支持API 11(Android3.0.x)及以上版本.
在低版本設(shè)備上,動畫不會執(zhí)行,但程序不會崩潰.
所有類型的圖表都支持動畫,可以用一種看起來非常棒的方式來創(chuàng)建和構(gòu)建圖表.存在三種不同類型的動畫方法,分為xy,x和y.
- animateX(int durationMillis): 圖表x軸上的值顯示動畫,意思是圖表將會從左到右按指定的時間進行構(gòu)建.
- animateY(int durationMillis): 圖表y軸上的值顯示動畫,意思是圖表將會從下到上按指定的時間進行構(gòu)建.
- animateXY(int xDuration, int yDuration): 同時執(zhí)行animateX(...)和animateY(..,)方法的動畫.
mChart.animateX(3000); // animate horizontal 3000 milliseconds
// or:
mChart.animateY(3000); // animate vertical 3000 milliseconds
// or:
mChart.animateXY(3000, 3000); // animate horizontal and vertical 3000 milliseconds
如果animate(...)(所有類型)被調(diào)用了,不需要額外調(diào)用invalidate()方法來刷新圖表.
Animation easing
這個依賴庫允許你將非常簡單的功能應(yīng)用到你的動畫中.你可以在預(yù)定義的Easing.EasingOption:枚舉中進行選擇:
public enum EasingOption {
Linear,
EaseInQuad,
EaseOutQuad,
EaseInOutQuad,
EaseInCubic,
EaseOutCubic,
EaseInOutCubic,
EaseInQuart,
EaseOutQuart,
EaseInOutQuart,
EaseInSine,
EaseOutSine,
EaseInOutSine,
EaseInExpo,
EaseOutExpo,
EaseInOutExpo,
EaseInCirc,
EaseOutCirc,
EaseInOutCirc,
EaseInElastic,
EaseOutElastic,
EaseInOutElastic,
EaseInBack,
EaseOutBack,
EaseInOutBack,
EaseInBounce,
EaseOutBounce,
EaseInOutBounce,
}
這里主要有兩種方式來進行緩動動畫:
1,預(yù)定義的easing options:(可以運行在任何Android版本中)
public void animateY(int durationmillis, Easing.EasingOption option);
用預(yù)定義的easing option中的緩動動畫:
// animate both axes with easing
mChart.animateY(3000, Easing.EasingOption.EaseOutBack);
當(dāng)你希望你的代碼可以在Android3.0(API 11)以下版本運行時,一定要使用預(yù)定義Easing.EasingOption中的緩動動畫.
2,自定義緩動功能(自定義的緩動功能在Android3.0以下會崩潰)
public void animateY(int durationmillis, EasingFunction function);
通過創(chuàng)建你自己的緩動功能類并實現(xiàn)EasingFunction接口,來創(chuàng)建你自己的緩動功能:
/**
* Interface for creating custom made easing functions.
*/
public interface EasingFunction {
/**
* Called everytime the animation is updated.
* @param input - the time passed since the animation started (value between 0 and 1)
*/
public float getInterpolation(float input);
}
然后用下面方式調(diào)用(注意,Android3.0以下不會執(zhí)行,并使程序崩潰):
// animate both axes with easing
mChart.animateY(3000, new MyEasingFunction());