谁能给解释一下以下有关自定义的ViewPage动画有关缩放比例计算的问题???
代码public class ZoomOutPageTransformer implements PageTransformer {
private static float MIN_SCALE=0f;
private static float MIN_ALPHA=0f;
@Override
public void transformPage(View view, float position) {
int pageWidth = view.getWidth();
int pageHeight = view.getHeight();
if (position < -1) {
//This page is way off-screen to the left.
view.setAlpha(0);
}else if (position <=1) {
//Modify the default slide transition to shrink the page as well 注:shrink收缩
float scaleFactor = Math.max(MIN_SCALE, 1-Math.abs(position));
float vertMargin = pageHeight*(1-scaleFactor)/2;
float horzMargin = pageWidth*(1-scaleFactor)/2;
if (position<0) {
view.setTranslationX(horzMargin-vertMargin/2);//?????????此处咋算的???
}else {
view.setTranslationX(-horzMargin+vertMargin/2);
}
//Scale the page down(between MIN_SCALE and 1)
view.setScaleX(scaleFactor);
view.setScaleY(scaleFactor);
//Fade the page relative to its size
view.setAlpha(MIN_ALPHA+
(scaleFactor-MIN_SCALE)/(1-MIN_SCALE)*(1-MIN_ALPHA));
}else {
view.setAlpha(0);
}
}
}
补充:移动开发 , Android