package Ġcom . ken ilt . skeleton . ui . custom Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . Gesture Detector Ċ import Ġandroid . view . Motion Event Ċ Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġth ang ng uy en Ġon Ġ 3 / 1 1 / 1 9 . Ċ Ġ*/ Ċ class ĠTouch y RecyclerView ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: ĠRecyclerView ( context , Ġattrs ) Ġ{ ĊĊĠĠĠ Ġvar Ġon Outside Item Click : ĠOn Outside Item Click ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġgesture Detector Ġ= ĠGest ure Detector ( context , Ġobject : ĠGest ure Detector . Simple On Gesture Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Single Tap Up ( e : ĠMotion Event ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĊĠĠĠ Ġinterface ĠOn Outside Item Click Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Outside Click () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispatch Touch Event ( event : ĠMotion Event ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġfind Child View Under () Ġmethod Ġreturns Ġnull Ġif Ġthe Ġtouch Ġevent ĊĠĠĠĠĠĠĠ Ġ// Ġoccurs Ġoutside Ġof Ġa Ġchild ĠView . ĊĠĠĠĠĠĠĠ Ġ// ĠChange Ġthe ĠMotion Event Ġaction Ġas Ġneeded . ĠHere Ġwe Ġuse ĠACTION _ DOWN ĊĠĠĠĠĠĠĠ Ġ// Ġas Ġa Ġsimple , Ġna ive Ġindication Ġof Ġa Ġclick . ĊĠĠĠĠĠĠĠ Ġif Ġ( gesture Detector . on Touch Event ( event ) Ġ&& Ġfind Child View Under ( event . x , Ġevent . y ) Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Outside Item Click ?. on Outside Click () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . dispatch Touch Event ( event ) ĊĠĠĠ Ġ} Ċ } Ċ