package Ġcom . lo dz . android . agile dev kt . modules . bottom sheet Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . google . android . material . bottom sheet . Bottom Sheet Behavior Ċ import Ġcom . lo dz . android . agile dev kt . databinding . Activity Bottom Sheet s Binding Ċ import Ġcom . lo dz . android . agile dev kt . modules . main . MainActivity Ċ import Ġcom . lo dz . android . core kt . log . Print Log Ċ import Ġcom . lo dz . android . pand ora . base . activity . Abs Activity Ċ import Ġcom . lo dz . android . pand ora . utils . view binding . binding Layout Ċ Ċ /** Ċ Ġ* ĠBottom Sheet s æµĭè¯ķ ç±» Ċ Ġ* ĠCreated Ġby Ġz hou L Ġon Ġ 2 0 1 8 / 1 2 / 1 1 . Ċ Ġ*/ Ċ class ĠBottom Sheet s Activity Ġ: ĠAbs Activity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠBottom Sheet s Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġm Binding : ĠActivity Bottom Sheet s Binding Ġby Ġbinding Layout ( Activity Bottom Sheet s Binding :: inflate ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Bottom Sheet Behavior : ĠBottom Sheet Behavior < View > ĊĊĠĠĠ Ġoverride Ġfun Ġget Abs View Binding Layout (): ĠView Ġ= Ġm Binding . root ĊĊĠĠĠ Ġoverride Ġfun Ġfind Views ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Binding . title Bar Layout . setTitle Name ( intent . getString Extra ( MainActivity . EXTRA _ TITLE _ NAME ) Ġ?: Ġ"") ĊĠĠĠĠĠĠĠ Ġm Bottom Sheet Behavior Ġ= ĠBottom Sheet Behavior . from ( m Binding . scroll View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . set Listeners () ĊĠĠĠĠĠĠĠ Ġ// Ġ æłĩé¢ĺ æłı è¿ĶåĽŀ æĮīéĴ® ĊĠĠĠĠĠĠĠ Ġm Binding . title Bar Layout . setOn Back Btn ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Binding . bottom Sheet s Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Bottom Sheet Behavior . state Ġ= Ġif Ġ( m Bottom Sheet Behavior . state Ġ== ĠBottom Sheet Behavior . STATE _ EXP AN DED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBottom Sheet Behavior . STATE _ COLL AP SED Ġelse ĠBottom Sheet Behavior . STATE _ EXP AN DED ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Binding . dialog Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImg Bottom Sheet Dialog ( getContext ()). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Binding . dialog Fragment Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTab Bottom Sheet Dialog Fragment (). show ( support FragmentManager , Ġ" Tab Bottom Sheet Dialog Fragment ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Bottom Sheet Behavior . add Bottom Sheet Callback ( object Ġ: ĠBottom Sheet Behavior . Bottom Sheet Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon StateChanged ( bottom Sheet : ĠView , ĠnewState : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// è¿ĻéĩĮ æĺ¯ bottom Sheet Ġ çĬ¶æĢģ çļĦ æĶ¹åıĺ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPrint Log . d (" test tag ", Ġ" newState Ġ: Ġ$ newState ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Slide ( bottom Sheet : ĠView , Ġslide Offset : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// è¿ĻéĩĮ æĺ¯ æĭ ĸ æĭ ½ ä¸ŃçļĦ åĽŀè°ĥ ï¼Į æł¹æį® slide Offset åı¯ä»¥ åģļ ä¸ĢäºĽ åĬ¨çĶ» ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPrint Log . i (" test tag ", Ġ" slide Offset Ġ: Ġ$ slide Offset ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }