package Ġcom . zh ug eng . material design . activity . pick ers Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . AppCompat Button Ċ import Ġandroid . view . View Ċ import Ġandroid . view . Window Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Seek Bar Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġcom . zh ug eng . material design . R Ċ import Ġkotlinx . android . synt hetic . main . activity _ picker _ color .* Ċ import Ġkotlinx . android . synt hetic . main . dialog _ color .* Ċ import Ġkotlinx . android . synt hetic . main . title _ bar .* Ċ Ċ class ĠColor Activity : ĠAppCompatActivity (){ ĊĊĠĠĠ Ġprivate Ġvar Ġred Ġ: Int Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġblue Ġ: Int Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġgreen Ġ: Int Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ picker _ color ) ĊĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġinit Listener () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Listener () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġbtn _ get _ date . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= Ġ" Color " ĊĠĠĠĠĠĠĠ Ġtoolbar . set Navigation OnClickListener Ġ{ Ġfinish () Ġ} ĊĠĠĠĠĠĠĠ Ġtoolbar . inflate Menu ( R . menu . menu _ bottom _ navigation _ dark _ toolbar ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġdialog Ġ= ĠDialog ( this ) ĊĠĠĠĠĠĠĠ Ġdialog . request Window Feature ( Window . FEATURE _ NO _ TITLE ) ĊĠĠĠĠĠĠĠ Ġdialog . set ContentView ( R . layout . dialog _ color ) ĊĠĠĠĠĠĠĠ Ġdialog . set Cancel able ( true ) ĊĠĠĠĠĠĠĠ Ġvar Ġlayout Params Ġ= ĠWindow Manager . LayoutParams () ĊĠĠĠĠĠĠĠ Ġlayout Params . copyFrom ( dialog . window . attributes ) ĊĠĠĠĠĠĠĠ Ġlayout Params . width Ġ= ĠWindow Manager . LayoutParams . WRAP _ CONTENT ĊĠĠĠĠĠĠĠ Ġlayout Params . height Ġ= ĠWindow Manager . LayoutParams . WRAP _ CONTENT ĊĊĠĠĠĠĠĠĠ Ġvar Ġview Ġ= Ġdialog . findViewById < View >( R . id . bg ) ĊĠĠĠĠĠĠĠ Ġvar Ġred Value Ġ= Ġdialog . findViewById < TextView >( R . id . red _ value ) ĊĠĠĠĠĠĠĠ Ġvar Ġgreen Value Ġ= Ġdialog . findViewById < TextView >( R . id . green _ value ) ĊĠĠĠĠĠĠĠ Ġvar Ġblue Value Ġ= Ġdialog . findViewById < TextView >( R . id . blue _ value ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġseek Red Ġ= Ġdialog . findViewById < Seek Bar >( R . id . seek bar _ red ) ĊĠĠĠĠĠĠĠ Ġvar Ġseek Green Ġ= Ġdialog . findViewById < Seek Bar >( R . id . seek bar _ green ) ĊĠĠĠĠĠĠĠ Ġvar Ġseek Blue Ġ= Ġdialog . findViewById < Seek Bar >( R . id . seek bar _ blue ) ĊĊĠĠĠĠĠĠĠ Ġseek Red . setOn Seek Bar ChangeListener ( object Ġ: ĠSeek Bar . On Seek Bar ChangeListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar ?, Ġprogress : ĠInt , Ġfrom User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Value . text Ġ= Ġprogress . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Ġ= Ġprogress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange BG ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġseek Blue . setOn Seek Bar ChangeListener ( object Ġ: ĠSeek Bar . On Seek Bar ChangeListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar ?, Ġprogress : ĠInt , Ġfrom User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Value . text Ġ= Ġprogress . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Ġ= Ġprogress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange BG ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġseek Green . setOn Seek Bar ChangeListener ( object Ġ: ĠSeek Bar . On Seek Bar ChangeListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar ?, Ġprogress : ĠInt , Ġfrom User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgreen Value . text Ġ= Ġprogress . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgreen Ġ= Ġprogress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange BG ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġseek Red . progress Ġ= Ġred ĊĠĠĠĠĠĠĠ Ġseek Green . progress Ġ= Ġgreen ĊĠĠĠĠĠĠĠ Ġseek Blue . progress Ġ= Ġblue ĊĊĠĠĠĠĠĠĠ Ġdialog . findViewById < Button >( R . id . btn _ cancel ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdialog . findViewById < Button >( R . id . btn _ ok ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ date . text Ġ= Ġ" RGB ( Ġ$ red Ġ, Ġ$ green , Ġ$ blue Ġ)" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĠĠĠĠĠĠĠ Ġdialog . window . attributes Ġ= Ġlayout Params ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġchange BG ( view : ĠView ){ ĊĠĠĠĠĠĠĠ Ġvar Ġsb Ġ= ĠStringBuffer ("# ") ĊĠĠĠĠĠĠĠ Ġvar Ġr Ġ= ĠInteger . to HexString ( red ) ĊĠĠĠĠĠĠĠ Ġvar Ġg Ġ= ĠInteger . to HexString ( green ) ĊĠĠĠĠĠĠĠ Ġvar Ġb Ġ= ĠInteger . to HexString ( blue ) ĊĠĠĠĠĠĠĠ Ġif Ġ( r . length Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" 0 $ r ") ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( r ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( g . length Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" 0 $ g ") ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( g ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( b . length Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" 0 $ b ") ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( b ) ĊĊĠĠĠĠĠĠĠ Ġview . set BackgroundColor ( Color . parse Color ( sb . toString ())) ĊĠĠĠĠĠĠĠ Ġtv _ date . setTextColor ( Color . parse Color ( sb . toString ())) ĊĠĠĠ Ġ} Ċ Ċ }