package Ġcom . example . my application Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . style . ForegroundColor Span Ċ import Ġandroid . text . style . Relative Size Span Ċ import Ġandroid . text . style . Style Span Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . WindowManager Ċ import Ġcom . github . mike phil . chart ing . animation . E asing Ċ import Ġcom . github . mike phil . chart ing . charts . Pie Chart Ċ import Ġcom . github . mike phil . chart ing . components . IM ark er Ċ import Ġcom . github . mike phil . chart ing . components . Legend Ċ import Ġcom . github . mike phil . chart ing . data . Entry Ċ import Ġcom . github . mike phil . chart ing . data . Pie Data Ċ import Ġcom . github . mike phil . chart ing . data . Pie DataSet Ċ import Ġcom . github . mike phil . chart ing . data . Pie Entry Ċ import Ġcom . github . mike phil . chart ing . formatter . Percent Formatter Ċ import Ġcom . github . mike phil . chart ing . highlight . Highlight Ċ import Ġcom . github . mike phil . chart ing . listener . On Chart Value Selected Listener Ċ import Ġcom . github . mike phil . chart ing . utils . Color Template Ċ import Ġcom . github . mike phil . chart ing . utils . MP PointF Ċ import Ġjava . security . Access Controller . getContext Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠOn Chart Value Selected Listener Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġchart : ĠP ie Chart ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġwindow . set Flags ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ FULL SCREEN , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ FULL SCREEN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Pie Chart Activity " ĊĊĊĠĠĠĠĠĠĠ Ġchart Ġ= ĠfindViewById ( R . id . pie Chart ) ĊĠĠĠĠĠĠĠ Ġchart !!. set Use Percent Values ( true ) ĊĠĠĠĠĠĠĠ Ġchart !!. description . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġchart !!. set Extra Offsets ( 5 f , Ġ 1 0 f , Ġ 5 f , Ġ 5 f ) ĊĊĠĠĠĠĠĠĠ Ġchart !!. drag De cel eration F riction Coef Ġ= Ġ 0 . 9 5 f ĊĊĠĠĠĠĠĠĠ Ġchart !!. center Text Ġ= Ġgenerate Center Sp ann able Text () ĊĊĠĠĠĠĠĠĠ Ġchart !!. is Draw Hole Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġchart !!. set Hole Color ( Color . TRANSP ARENT ) ĊĊĠĠĠĠĠĠĠ Ġchart !!. set Transparent Circle Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġchart !!. set Transparent Circle Alpha ( 1 1 0 ) ĊĊĠĠĠĠĠĠĠ Ġchart !!. hole Radius Ġ= Ġ 8 0 f ĊĠĠĠĠĠĠĠ Ġchart !!. transparent Circle Radius Ġ= Ġ 6 1 f ĊĊĠĠĠĠĠĠĠ Ġchart !!. set Draw Center Text ( true ) ĊĊĠĠĠĠĠĠĠ Ġchart !!. rotation Angle Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġ// Ġenable Ġrotation Ġof Ġthe Ġchart Ġby Ġtouch ĊĠĠĠĠĠĠĠ Ġchart !!. is Rotation Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġchart !!. is Highlight Per Tap Enabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Ġadd Ġa Ġselection Ġlistener ĊĠĠĠĠĠĠĠ Ġchart !!. setOn Chart Value Selected Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġchart !!. animate Y ( 1 4 0 0 , ĠE asing . E ase InOut Quad ) ĊĠĠĠĠĠĠĠ Ġ// Ġchart . spin ( 2 0 0 0 , Ġ 0 , Ġ 3 6 0 ); ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġentry Ġlabel Ġstyling ĊĠĠĠĠĠĠĠ Ġchart !!. set Entry Label Color ( Color . DK GRAY ) ĊĠĠĠĠĠĠĠ Ġchart !!. set Entry Label Text Size ( 1 2 f ) ĊĠĠĠĠĠĠĠ Ġchart !!. set Use Custom High Light Color ( true ) ĊĠĠĠĠĠĠĠ ĠsetData ( 5 , Ġ 5 f ) ĊĠĠĠĠĠĠĠ Ġset Chart Legend () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Chart Legend () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmarker : ĠI Marker Ġ= ĠChart Marker View ( application Context , ĠR . layout . marker _ layout ) ĊĠĠĠĠĠĠĠ Ġchart !!. marker Ġ= Ġmarker ĊĊĠĠĠĠĠĠĠ Ġval Ġl Ġ= Ġchart !!. legend ĊĠĠĠĠĠĠĠ Ġl . isEnabled Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠsetData ( count : ĠInt , Ġrange : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentries Ġ= ĠArrayList < Pie Entry >() ĊĊĠĠĠĠĠĠĠ Ġ// ĠNOTE : ĠThe Ġorder Ġof Ġthe Ġentries Ġwhen Ġbeing Ġadded Ġto Ġthe Ġentries Ġarray Ġdetermines Ġtheir Ġposition Ġaround Ġthe Ġcenter Ġof ĊĠĠĠĠĠĠĠ Ġ// Ġthe Ġchart . ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġcount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentries . add ( Pie Entry (( Math . random () Ġ* Ġrange Ġ+ Ġrange Ġ/ Ġ 5 ). toFloat ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval ĠdataSet Ġ= ĠP ie DataSet ( entries , Ġ" E lection ĠResults ") ĊĊĠĠĠĠĠĠĠ ĠdataSet . set Draw Icons ( false ) ĊĊĠĠĠĠĠĠĠ ĠdataSet . slice Space Ġ= Ġ 3 f ĊĠĠĠĠĠĠĠ ĠdataSet . icons Offset Ġ= ĠMP PointF ( 0 f , Ġ 4 0 f ) ĊĠĠĠĠĠĠĠ ĠdataSet . selection Shift Ġ= Ġ 5 f ĊĊĠĠĠĠĠĠĠ Ġ// Ġadd Ġa Ġlot Ġof Ġcolors ĊĊĠĠĠĠĠĠĠ Ġval Ġcolors Ġ= ĠArrayList < Int >() ĊĊĠĠĠĠĠĠĠ Ġcolors . add ( Color . WHITE ) ĊĊĠĠĠĠĠĠĠ ĠdataSet . colors Ġ= Ġcolors ĊĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠP ie Data ( data Set ) ĊĠĠĠĠĠĠĠ Ġdata . setValue Formatter ( Percent Formatter ( chart )) ĊĠĠĠĠĠĠĠ Ġdata . setValue Text Size ( 1 1 f ) ĊĠĠĠĠĠĠĠ Ġdata . setValue TextColor ( Color . DK GRAY ) ĊĠĠĠĠĠĠĠ ĠdataSet . set High Light Color ( Color . parse Color ("# C FA F 0 5 ")) ĊĊĠĠĠĠĠĠĠ ĠdataSet . is Highlight Enabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġchart !!. data Ġ= Ġdata ĊĊĠĠĠĠĠĠĠ Ġ// Ġundo Ġall Ġhighlight s ĊĠĠĠĠĠĠĠ Ġchart !!. highlight Values ( null ) ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= ĠarrayOf Null s < Highlight >( 1 ) ĊĠĠĠĠĠĠĠ Ġh [ 0 ] Ġ= ĠHighlight ( 0 f , Ġ 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġchart !!. highlight Value ( h [ 0 ]) ĊĊĠĠĠĠĠĠĠ Ġchart !!. invalidate () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Center Sp ann able Text (): ĠSp ann able String Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠSp ann able String (" MP Android Chart \ n develop ed Ġby ĠPhil ipp ĠJ ah oda ") ĊĠĠĠĠĠĠĠ Ġs . set Span ( Relative Size Span ( 1 . 7 f ), Ġ 0 , Ġ 1 4 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs . set Span ( ForegroundColor Span ( Color . WHITE ), Ġ 0 , Ġ 1 4 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs . set Span ( Style Span ( Type face . NORMAL ), Ġ 1 4 , Ġs . length Ġ- Ġ 1 5 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs . set Span ( ForegroundColor Span ( Color . GRAY ), Ġ 1 4 , Ġs . length Ġ- Ġ 1 5 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs . set Span ( Relative Size Span (. 8 f ), Ġ 1 4 , Ġs . length Ġ- Ġ 1 5 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs . set Span ( Style Span ( Type face . ITAL IC ), Ġs . length Ġ- Ġ 1 4 , Ġs . length , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs . set Span ( ForegroundColor Span ( Color Template . get Ho lo Blue ()), Ġs . length Ġ- Ġ 1 4 , Ġs . length , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġs ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Value Selected ( e : ĠEntry ?, Ġh : ĠHighlight ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( e Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ ĠLog . i ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" VAL ĠSELECT ED ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Value : Ġ" Ġ+ Ġe . y Ġ+ Ġ", Ġindex : Ġ" Ġ+ Ġh . x ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ", ĠDataSet Ġindex : Ġ" Ġ+ Ġh . data Set Index ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Nothing Selected () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i (" Pie Chart ", Ġ" nothing Ġselected ") ĊĠĠĠ Ġ} Ċ Ċ } Ċ