package Ġbr . uf pe . cin . android . constraint layout Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Seek Bar Ċ import Ġandroidx . annotation . String Res Ċ import Ġkotlinx . android . synt hetic . main . activity _ widgets .* Ċ Ċ private Ġconst Ġval ĠTAG Ġ= Ġ" Constraint Layout App " Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ widgets ) ĊĊĠĠĠĠĠĠĠ Ġicon . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog ( R . string . icon _ clicked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbutton . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// onClick ( View Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog ( R . string . button _ clicked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsw yt ch . setOn Checked ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog ( R . string . checkbox _ checked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog ( R . string . checkbox _ unchecked ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( isChecked ) ĠR . string . switch _ checked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠR . string . switch _ unchecked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcheckbox . setOn Checked ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv , Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( isChecked ) ĠR . string . checkbox _ checked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠR . string . checkbox _ unchecked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġradio Group . setOn Checked ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv , Ġchecked Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( checked Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radioButton 1 Ġ-> ĠR . string . radio button 1 _ checked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radioButton 2 Ġ-> ĠR . string . radio button 2 _ checked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . string . radio button 3 _ checked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġseek bar . 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 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= ĠgetString ( R . string . seek bar _ changed , progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . text Ġ= Ġmsg ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , msg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// log ( R . string . seek bar _ changed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( p 0 : ĠSeek Bar ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ign or ar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( p 0 : ĠSeek Bar ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ign or ar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlog (@ String Res Ġmsg : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . setText ( msg ) ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , ĠgetString ( msg )) ĊĠĠĠ Ġ} Ċ } Ċ