package Ġcom . ol ab ode . wil son . py t utor . ui . tutorial Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . view pager 2 . widget . ViewPager 2 Ċ Ċ private Ġconst Ġval ĠMIN _ SCALE Ġ= Ġ 0 . 7 5 f Ċ Ċ @ Requires Api ( 2 1 ) Ċ class ĠDepth Page Transformer Ġ: ĠView Pager 2 . Page Transformer Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġtransform Page ( view : ĠView , Ġposition : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpage Width Ġ= Ġwidth ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Ġ< Ġ- 1 Ġ-> Ġ{ Ġ// Ġ[- Infinity ,- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThis Ġpage Ġis Ġway Ġoff - screen Ġto Ġthe Ġleft . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Ġ<= Ġ 0 Ġ-> Ġ{ Ġ// Ġ[- 1 , 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUse Ġthe Ġdefault Ġslide Ġtransition Ġwhen Ġmoving Ġto Ġthe Ġleft Ġpage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslation X Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslation Z Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale X Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale Y Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Ġ<= Ġ 1 Ġ-> Ġ{ Ġ// Ġ( 0 , 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠF ade Ġthe Ġpage Ġout . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= Ġ 1 Ġ- Ġposition ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCounter act Ġthe Ġdefault Ġslide Ġtransition ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslation X Ġ= Ġpage Width Ġ* Ġ- position ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMove Ġit Ġbehind Ġthe Ġleft Ġpage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslation Z Ġ= Ġ- 1 f ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠScale Ġthe Ġpage Ġdown Ġ( between ĠMIN _ SCALE Ġand Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Factor Ġ= Ġ( MIN _ SCALE Ġ+ Ġ( 1 Ġ- ĠMIN _ SCALE ) Ġ* Ġ( 1 Ġ- ĠMath . abs ( position ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale X Ġ= Ġscale Factor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale Y Ġ= Ġscale Factor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ Ġ// Ġ( 1 , + Infinity ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThis Ġpage Ġis Ġway Ġoff - screen Ġto Ġthe Ġright . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ