同步PD:

修复暂时离开功能无效问题
调整购买守护的动画效果
This commit is contained in:
2024-06-16 11:09:45 +08:00
parent 4c9f3d9936
commit 96cfadd335
10 changed files with 152 additions and 25 deletions

View File

@@ -0,0 +1,67 @@
package com.yunbao.common.custom;
import android.view.View;
import androidx.core.view.ViewCompat;
import com.stx.xhb.androidx.transformers.BasePageTransformer;
public class LiveGuardScalePageTransformer extends BasePageTransformer {
/**
* author: xiaohaibin.
* time: 2018/10/9
* mail:xhb_199409@163.com
* github:https://github.com/xiaohaibin
* describe: 适用于一屏显示多个模式
*/
private float mMinScale = 0.85f;
private float mMinAlpha = 1f;
public LiveGuardScalePageTransformer() {
}
public LiveGuardScalePageTransformer(float minAlpha, float minScale) {
setMinAlpha(minAlpha);
setMinScale(minScale);
}
@Override
public void handleInvisiblePage(View view, float position) {
ViewCompat.setAlpha(view, 0);
}
@Override
public void handleLeftPage(View view, float position) {
float scale = Math.max(mMinScale, 1 + position);
float vertMargin = view.getHeight() * (1 - scale) / 2;
float horzMargin = view.getWidth() * (1 - scale) / 2;
view.setTranslationX(horzMargin - vertMargin / 2);
view.setScaleX(scale);
view.setScaleY( scale);
view.setAlpha( mMinAlpha + (scale - mMinScale) / (1 - mMinScale) * (1 - mMinAlpha));
}
@Override
public void handleRightPage(View view, float position) {
float scale = Math.max(mMinScale, 1 - position);
float vertMargin = view.getHeight() * (1 - scale) / 2;
float horzMargin = view.getWidth() * (1 - scale) / 2;
view.setTranslationX( -horzMargin + vertMargin / 2);
view.setScaleX( scale);
view.setScaleY( scale);
view.setAlpha( mMinAlpha + (scale - mMinScale) / (1 - mMinScale) * (1 - mMinAlpha));
}
public void setMinAlpha(float minAlpha) {
if (minAlpha >= 0.6f && minAlpha <= 1.0f) {
mMinAlpha = minAlpha;
}
}
public void setMinScale(float minScale) {
if (minScale >= 0.6f && minScale <= 1.0f) {
mMinScale = minScale;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB