Dan*_*ith 4 android android-viewpager android-support-library
我正在尝试实现一个ViewPager.PageTransformer几乎与此处标记的示例相同的DepthPageTransformer(它位于页面底部).
然而,除了具有层次结构遵循其中的z-index由左到右(即欣赏到右边会出现在下面)降低的模式,我想的z-index从左至右(浏览次数增加至左侧会从下面出现).
作为第一次尝试,我基本上交换了代表从左侧和右侧进入的页面的示例中的代码,但我发现有一个隐式的z排序,左边的页面总是在右边的页面之上,当你滑动以查看右边的页面时,它会滑动不错,但消失的视图将在新输入的视图的"顶部"消失.
有没有办法调整由a服务的页面的z-indices ViewPager?
我的第一直觉是以某种方式复制ViewPager支持库中的代码,并修改类来进行我的出价,但我不清楚该类中隐含排序的来源.
这是我的(主要被扯掉)PageTransformer:
public class DepthPageTransformer implements ViewPager.PageTransformer {
private static float MIN_SCALE = 0.75f;
public void transformPage(View view, float position) {
int pageWidth = view.getWidth();
if (position < -1) { // [-Infinity,-1)
// This page is way off-screen to the left.
view.setAlpha(0);
} else if (position <= 0) { // [-1,0]
view.setAlpha(1 + position);
// Counteract the default slide transition
view.setTranslationX(pageWidth * -position);
// Scale the page down (between MIN_SCALE and 1)
float scaleFactor = MIN_SCALE
+ (1 - MIN_SCALE) * (1 - Math.abs(position));
view.setScaleX(scaleFactor);
view.setScaleY(scaleFactor);
} else if (position <= 1) { // (0,1]
view.setAlpha(1);
view.setTranslationX(0);
view.setScaleX(1);
view.setScaleY(1);
} else { // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(0);
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 12
ViewPager页面的绘制顺序由方法的第一个参数确定ViewPager.setPageTransformer().
查看方法签名:
public void setPageTransformer (boolean reverseDrawingOrder, ViewPager.PageTransformer transformer)
Run Code Online (Sandbox Code Playgroud)
该reverseDrawingOrder参数文件说:"真要是提供PageTransformer需要从后到前,而不是第一个到最后绘制的页面访问量."
在内部,当确定ViewPager页面绘制顺序时,它调用:
protected int getChildDrawingOrder(int childCount, int i) {
final int index = mDrawingOrder == DRAW_ORDER_REVERSE ? childCount - 1 - i : i;
final int result = ((LayoutParams) mDrawingOrderedChildren.get(index).getLayoutParams()).childIndex;
return result;
}
Run Code Online (Sandbox Code Playgroud)
mDrawingOrder由reverseDrawingOrder boolean flag在内部设置 ViewPager.setPageTransformer()
| 归档时间: |
|
| 查看次数: |
2760 次 |
| 最近记录: |