package Ġcom . y uan . gradient color picker bar . sample Ċ Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . graphics . Color Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Typed Value Ċ import Ġcom . y uan . gradient color picker bar . Gradient Color Picker Bar Ċ import Ġcom . y uan . gradient color picker bar . sample . databinding . Activity Main Binding Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĊĠĠĠ Ġprivate Ġval Ġcolor List : ĠList < IntArray > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInt Array ( R . array . colors ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInt Array ( R . array . color 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInt Array ( R . array . color 2 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġbinding . ch ang Color . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . color Picker Bar . set Colors ( color List . random ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . reset Progress . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . color Picker Bar . set Progress ( 0 f ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . change Bar Style . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . color Picker Bar . set Bar Style ( 1 0 f . dp , Ġ 1 2 f . dp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . change Thumb Style . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . color Picker Bar . set Thumb Style ( 3 0 f . dp , Ġ 1 5 f . dp , ĠColor . WHITE , Ġ 3 f . dp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . change Orientation . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . color Picker Bar . set Orientation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding . color Picker Bar . get Orientation () Ġ== ĠGradient Color Picker Bar . HORIZONTAL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGradient Color Picker Bar . VERTICAL Ġelse ĠGradient Color Picker Bar . HORIZONTAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . color Picker Bar . setOn ChangeListener ( object Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGradient Color Picker Bar . On ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgradient Color Pick Bar : ĠGradient Color Picker Bar , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom User : ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tv Color . text Ġ= ĠGradient Color Picker Bar . parse Color Int ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tv Color . setTextColor ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġval ĠFloat . dp ĊĠĠĠ Ġget () Ġ= ĠTyped Value . apply Dimension ( ĊĠĠĠĠĠĠĠ ĠTyped Value . COMPLEX _ UNIT _ DIP , ĊĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠ ĠResources . getSystem (). display Metrics ĊĠĠĠ Ġ)