/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 ĠAnd rey ĠK ul ik ov Ġ( and k ul ik ov @ gmail . com ) Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . and k ul ik ov . transition se very where . kotlin Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . transition . Arc Motion Ċ import Ġandroidx . transition . Change Bounds Ċ import Ġandroidx . transition . Transition Manager Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠAnd rey ĠK ul ik ov Ġon Ġ 2 4 / 0 3 / 1 6 . Ċ Ġ*/ Ċ class ĠPath Motion Sample Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ path , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtransitions Container Ġ= Ġview . findViewById < ViewGroup >( R . id . transitions _ container ) ĊĠĠĠĠĠĠĠ Ġval Ġbutton Ġ= Ġtransitions Container . findViewById < View >( R . id . button ) ĊĊĠĠĠĠĠĠĠ Ġbutton . setOnClickListener ( object Ġ: ĠView . OnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Ġvar Ġm To Right Animation : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchange Bounds Ġ= ĠChange Bounds () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange Bounds . set Path Motion ( Arc Motion ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange Bounds . duration Ġ= Ġ 5 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTransition Manager . begin Delayed Transition ( transitions Container , Ġchange Bounds ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm To Right Animation Ġ= Ġ! m To Right Animation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġbutton . layout Params Ġas ĠFrame Layout . LayoutParams ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . gravity Ġ= Ġif Ġ( m To Right Animation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGr avity . RIGHT Ġor ĠGr avity . BOTTOM ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGr avity . LEFT Ġor ĠGr avity . TOP ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ