package Ġcom . github . ek lipse 2 k 8 . catalog Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . animation . E asing . E ase InOut Cubic Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . animation . E asing . E ase InOut Quad Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . charts . Rad ar Chart Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . components . Axis Base Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . components . Legend Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . components . Marker View Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . data . Rad ar Data Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . data . Rad ar DataSet Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . data . Rad ar Entry Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . formatter . I Axis Value Formatter Ċ import Ġcom . github . ek lipse 2 k 8 . chart ing . interfaces . datasets . IR ad ar DataSet Ċ import Ġcom . github . ek lipse 2 k 8 . catalog . custom . Rad ar Marker View Ċ import Ġcom . github . ek lipse 2 k 8 . catalog . not important . Demo Base Ċ Ċ class ĠRad ar Chart Activity Ġ: ĠDemo Base () Ġ{ ĊĠ Ġprivate Ġlateinit Ġvar Ġchart : ĠRad ar Chart ĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ ĠsetContentView ( R . layout . activity _ rad arch art ) ĊĠĠĠ Ġtitle Ġ= Ġ" Rad ar Chart Activity " ĊĠĠĠ Ġchart Ġ= ĠfindViewById ( R . id . chart 1 ) ĊĠĠĠ Ġchart . set BackgroundColor ( Color . rgb ( 6 0 , Ġ 6 5 , Ġ 8 2 )) ĊĠĠĠ Ġchart . description . isEnabled Ġ= Ġfalse ĊĠĠĠ Ġchart . web LineWidth Ġ= Ġ 1 f ĊĠĠĠ Ġchart . web Color Ġ= ĠColor . LT GRAY ĊĠĠĠ Ġchart . web LineWidth Inner Ġ= Ġ 1 f ĊĠĠĠ Ġchart . web Color Inner Ġ= ĠColor . LT GRAY ĊĠĠĠ Ġchart . web Alpha Ġ= Ġ 1 0 0 ĊĊĠĠĠ Ġ// Ġcreate Ġa Ġcustom ĠMarker View Ġ( extend ĠMarker View ) Ġand Ġspecify Ġthe Ġlayout ĊĠĠĠ Ġ// Ġto Ġuse Ġfor Ġit ĊĠĠĠ Ġval Ġmv : ĠMarker View Ġ= ĠRad ar Marker View ( this , ĠR . layout . radar _ marker view ) ĊĠĠĠ Ġmv . set Chart View ( chart ) Ġ// ĠFor Ġbounds Ġcontrol ĊĠĠĠ Ġchart . marker Ġ= Ġmv Ġ// ĠSet Ġthe Ġmarker Ġto Ġthe Ġchart ĊĠĠĠ ĠsetData () ĊĠĠĠ Ġchart . animate XY ( 1 4 0 0 , Ġ 1 4 0 0 , ĠE ase InOut Quad ) ĊĠĠĠ Ġval Ġx Axis Ġ= Ġchart . xAxis ĊĠĠĠ Ġx Axis . text Size Ġ= Ġ 9 f ĊĠĠĠ Ġx Axis . y Offset Ġ= Ġ 0 f ĊĠĠĠ Ġx Axis . x Offset Ġ= Ġ 0 f ĊĠĠĠ Ġx Axis . value Formatter Ġ= ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠI Axis Value Formatter Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġm Activities Ġ= ĠarrayOf (" Bur ger ", Ġ" Ste ak ", Ġ" Sal ad ", Ġ" P asta ", Ġ" P izza ") ĊĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Formatted Value ( value : ĠFloat , Ġaxis : ĠAxis Base ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Activities [ value . toInt () Ġ% Ġm Activities . size ] ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġx Axis . textColor Ġ= ĠColor . WHITE ĊĠĠĠ Ġval Ġy Axis Ġ= Ġchart . yAxis ĊĠĠĠ Ġy Axis . setLabel Count ( 5 , Ġfalse ) ĊĠĠĠ Ġy Axis . text Size Ġ= Ġ 9 f ĊĠĠĠ Ġy Axis . axis Minimum Ġ= Ġ 0 f ĊĠĠĠ Ġy Axis . axis Maximum Ġ= Ġ 8 0 f ĊĠĠĠ Ġy Axis . set Draw Labels ( false ) ĊĠĠĠ Ġval Ġl Ġ= Ġchart . legend ĊĠĠĠ Ġl . vertical Alignment Ġ= ĠLegend . Legend Vertical Alignment . TOP ĊĠĠĠ Ġl . horizontal Alignment Ġ= ĠLegend . Legend Horizontal Alignment . CENTER ĊĠĠĠ Ġl . orientation Ġ= ĠLegend . Legend Orientation . HORIZONTAL ĊĠĠĠ Ġl . set Draw Inside ( false ) ĊĠĠĠ Ġl . x Entry Space Ġ= Ġ 7 f ĊĠĠĠ Ġl . y Entry Space Ġ= Ġ 5 f ĊĠĠĠ Ġl . textColor Ġ= ĠColor . WHITE ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠsetData () Ġ{ ĊĠĠĠ Ġval Ġmul Ġ= Ġ 8 0 f ĊĠĠĠ Ġval Ġmin Ġ= Ġ 2 0 f ĊĠĠĠ Ġval Ġcnt Ġ= Ġ 5 ĊĠĠĠ Ġval Ġentries 1 Ġ= ĠArrayList < Rad ar Entry >() ĊĠĠĠ Ġval Ġentries 2 Ġ= ĠArrayList < Rad ar 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 Ġcnt ) Ġ{ ĊĠĠĠĠĠ Ġval Ġval 1 Ġ= Ġ( Math . random () Ġ* Ġmul ). toFloat () Ġ+ Ġmin ĊĠĠĠĠĠ Ġentries 1 . add ( Rad ar Entry ( val 1 )) ĊĠĠĠĠĠ Ġval Ġval 2 Ġ= Ġ( Math . random () Ġ* Ġmul ). toFloat () Ġ+ Ġmin ĊĠĠĠĠĠ Ġentries 2 . add ( Rad ar Entry ( val 2 )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġset 1 Ġ= ĠRad ar DataSet ( entries 1 , Ġ" Last ĠWeek ") ĊĠĠĠ Ġset 1 . color Ġ= ĠColor . rgb ( 1 0 3 , Ġ 1 1 0 , Ġ 1 2 9 ) ĊĠĠĠ Ġset 1 . fill Color Ġ= ĠColor . rgb ( 1 0 3 , Ġ 1 1 0 , Ġ 1 2 9 ) ĊĠĠĠ Ġset 1 . set Draw Filled ( true ) ĊĠĠĠ Ġset 1 . fill Alpha Ġ= Ġ 1 8 0 ĊĠĠĠ Ġset 1 . lineWidth Ġ= Ġ 2 f ĊĠĠĠ Ġset 1 . is Draw Highlight Circle Enabled Ġ= Ġtrue ĊĠĠĠ Ġset 1 . set Draw Highlight Indicators ( false ) ĊĠĠĠ Ġval Ġset 2 Ġ= ĠRad ar DataSet ( entries 2 , Ġ" This ĠWeek ") ĊĠĠĠ Ġset 2 . color Ġ= ĠColor . rgb ( 1 2 1 , Ġ 1 6 2 , Ġ 1 7 5 ) ĊĠĠĠ Ġset 2 . fill Color Ġ= ĠColor . rgb ( 1 2 1 , Ġ 1 6 2 , Ġ 1 7 5 ) ĊĠĠĠ Ġset 2 . set Draw Filled ( true ) ĊĠĠĠ Ġset 2 . fill Alpha Ġ= Ġ 1 8 0 ĊĠĠĠ Ġset 2 . lineWidth Ġ= Ġ 2 f ĊĠĠĠ Ġset 2 . is Draw Highlight Circle Enabled Ġ= Ġtrue ĊĠĠĠ Ġset 2 . set Draw Highlight Indicators ( false ) ĊĠĠĠ Ġval Ġsets Ġ= ĠArrayList < IR ad ar DataSet >() ĊĠĠĠ Ġsets . add ( set 1 ) ĊĠĠĠ Ġsets . add ( set 2 ) ĊĠĠĠ Ġval Ġdata Ġ= ĠRad ar Data ( sets ) ĊĠĠĠ Ġdata . setValue Text Size ( 8 f ) ĊĠĠĠ Ġdata . set Draw Values ( false ) ĊĠĠĠ Ġdata . setValue TextColor ( Color . WHITE ) ĊĠĠĠ Ġchart . data Ġ= Ġdata ĊĠĠĠ Ġchart . invalidate () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠ Ġmenu Inflater . inflate ( R . menu . radar , Ġmenu ) ĊĠĠĠ Ġreturn Ġtrue ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠ ĠR . id . view Github Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠ Ġi . data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUri . parse ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// github . com / Phil J ay / MP Android Chart / blob / master / MP Chart Example / src / com / xx mass developer / mp chart example / Rad ar Chart Activity . java ") ĊĠĠĠĠĠĠĠ ĠstartActivity ( i ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action Toggle Values Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( set Ġin Ġchart . data !!. data Sets ) Ġset . set Draw Values (! set . is Draw Values Enabled ) ĊĠĠĠĠĠĠĠ Ġchart . invalidate () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action Toggle Highlight Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( chart . data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġchart . data !!. is Highlight Enabled Ġ= Ġ! chart . data !!. is Highlight Enabled ĊĠĠĠĠĠĠĠĠĠ Ġchart . invalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action Toggle Rotate Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġchart . is Rotation Enabled Ġ= Ġ! chart . is Rotation Enabled ĊĠĠĠĠĠĠĠ Ġchart . invalidate () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action Toggle Filled Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġchart . data ?. data Sets ?. forEach Ġ{ Ġset Ġ-> Ġset . set Draw Filled (! set . is Draw Filled Enabled ) Ġ} ĊĠĠĠĠĠĠĠ Ġchart . invalidate () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action Toggle Highlight Circle Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġchart . data ?. data Sets ?. forEach Ġ{ Ġset Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġset . is Draw Highlight Circle Enabled Ġ= Ġ! set . is Draw Highlight Circle Enabled ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġchart . invalidate () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action Toggle X Labels Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġchart . xAxis . isEnabled Ġ= Ġ! chart . xAxis . isEnabled ĊĠĠĠĠĠĠĠ Ġchart . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġchart . invalidate () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action Toggle Y Labels Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġchart . yAxis !!. isEnabled Ġ= Ġ! chart . yAxis !!. isEnabled ĊĠĠĠĠĠĠĠ Ġchart . invalidate () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . animate X Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġchart . animate X ( 1 4 0 0 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . animate Y Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġchart . animate Y ( 1 4 0 0 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . animate XY Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġchart . animate XY ( 1 4 0 0 , Ġ 1 4 0 0 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action Toggle Spin Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġchart . spin ( 2 0 0 0 , Ġchart . rotation Angle , Ġchart . rotation Angle Ġ+ Ġ 3 6 0 , ĠE ase InOut Cubic ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠR . id . action Save Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Context Compat . check Self Permission ( this , ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE ) Ġ== ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġsave To Gallery () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġrequest Storage Permission ( chart !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġtrue ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġsave To Gallery () Ġ{ ĊĠĠĠ Ġsave To Gallery ( chart !! , Ġ" Rad ar Chart Activity ") ĊĠ Ġ} Ċ } Ċ