package Ġcom . and roi dex ample s . app . flows . animations . view Animations Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Toolbar Ċ import Ġandroid . view . View Ċ import Ġandroid . view . animation . Animation Ċ import Ġandroid . view . animation . Animation Utils Ċ import Ġandroid . view . animation . Scale Animation Ċ import Ġandroid . widget . ImageView Ċ Ċ import Ġcom . and roi dex ample s . app . R Ċ Ċ class ĠScale Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ// ĠViews ĊĠĠĠ Ġprivate Ġvar ĠimageView : ĠImageView ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ĠAnother Ġobjects ĊĠĠĠ Ġprivate Ġvar Ġanimation Re tract : ĠScale Animation ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdead Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġvar Ġpivot X Type : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġpivot Y Type : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġpivot X Value : ĠFloat Ġ= Ġ 0 . toFloat () ĊĠĠĠ Ġprivate Ġvar Ġpivot Y Value : ĠFloat Ġ= Ġ 0 . toFloat () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ anim _ examples ) ĊĠĠĠĠĠĠĠ Ġload Components () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Components () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( findViewById < View >( R . id . top _ toolbar ) Ġas ĠToolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĊĠĠĠĠĠĠĠ ĠimageView Ġ= ĠfindViewById < View >( R . id . imageView ) Ġas ĠImageView ĊĠĠĠĠĠĠĠ ĠimageView !!. setImage Resource ( R . drawable . heart ) ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . button _ animate _ api ). setOnClickListener ( on Animate Api Button Click ()) ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . button _ animate _ xml ). setOnClickListener ( on Animate Xml Button Click ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġpivot X Type Ġ= ĠAnimation . REL ATIVE _ TO _ SELF ĊĠĠĠĠĠĠĠ Ġpivot X Value Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠ Ġpivot Y Type Ġ= ĠAnimation . REL ATIVE _ TO _ SELF ĊĠĠĠĠĠĠĠ Ġpivot Y Value Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠ Ġanimation Re tract Ġ= ĠScale Animation ( 1 . 0 f , Ġ 0 . 6 f , Ġ 1 . 0 f , Ġ 0 . 6 f , Ġpivot X Type , Ġpivot X Value , Ġpivot Y Type , Ġpivot Y Value ) ĊĠĠĠĠĠĠĠ Ġanimation Re tract !!. duration Ġ= Ġ 5 0 0 ĊĠĠĠĠĠĠĠ Ġanimation Re tract !!. repeat Count Ġ= ĠAnimation . INF IN ITE ĊĠĠĠĠĠĠĠ Ġanimation Re tract !!. repeat Mode Ġ= ĠAnimation . RE START ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Animate Api Button Click (): ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dead ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView !!. start Animation ( animation Re tract ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView !!. animation . cancel () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdead Ġ= Ġ! dead ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Animate Xml Button Click (): ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dead ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView !!. start Animation ( Animation Utils . load Animation ( base Context , ĠR . anim . scale _ heart _ beat )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView !!. animation . cancel () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdead Ġ= Ġ! dead ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ