仿抖音上下滑动分页视频,面试字节跳动被问Android屏幕适配方案 | 您所在的位置:网站首页 › 抖音不能上下滑动屏幕 › 仿抖音上下滑动分页视频,面试字节跳动被问Android屏幕适配方案 |
3.1 自定义ViewPager
代码如下所示,这里省略了不少的代码,具体可以看项目中的代码。
/** @author 杨充 blog : https://github.com/yangchong211 time : 2019/6/20 desc : 自定义ViewPager,主要是处理边界极端情况 revise:*/ public class VerticalViewPager extends ViewPager { private boolean isVertical = false; private long mRecentTouchTime; public VerticalViewPager(@NonNull Context context) { super(context); } public VerticalViewPager(@NonNull Context context, @Nullable AttributeSet attrs) { super(context, attrs); } private void init() { setPageTransformer(true, new HorizontalVerticalPageTransformer()); setOverScrollMode(OVER_SCROLL_NEVER); } public boolean isVertical() { return isVertical; } public void setVertical(boolean vertical) { isVertical = vertical; init(); } private class HorizontalVerticalPageTransformer implements PageTransformer { private static final float MIN_SCALE = 0.25f; @Override public void transformPage(@NonNull View page, float position) { if (isVertical) { if (position < -1) { page.setAlpha(0); } else if (position page.setAlpha(0); } } else { int pageWidth = page.getWidth(); if (position < -1) { // [-Infinity,-1) // This page is way off-screen to the left. page.setAlpha(0); } else if (position mRecentTouchTime = System.currentTimeMillis(); if (getCurrentItem() == 0 && getChildCount() == 0) { |
CopyRight 2018-2019 实验室设备网 版权所有 |