可以显示出view堆栈效果的库:FlippableStackView
jopen
9年前
介绍:
一个可以显示出view堆栈效果的库,最前面的那个view向下拖拽可以从栈中移除(带翻转效果),向上滑动可以恢复前一个被移除的View。
运行效果:
使用说明:
在xml中添加View
<com.bartoszlipinski.flippablestackview.FlippableStackView android:id="@+id/stack" android:layout_width="match_parent" android:layout_height="match_parent" />
FlippableStackView是基于一个特殊的ViewPager中的PageTransformer。因此你可以使用典型的PagerAdapter来实现填充View。在onCreate方法中设置FlippableStackView的所有参数:
FlippableStackView stack = (FlippableStackView) findViewById(R.id.stack); stack.initStack(2); stack.setAdapter(mStackAdapter); //assuming mStackAdapter contains your initialized adapter
Important Note:
目前,view的显示顺序和Adapter中的顺序刚好相反,换句话说:在adapter中0位置的元素将被显示在栈的底部,而adapter.getCount()-1位置的view却最先显示(并且可以翻滚)。
自定义
FlippableStackView可以高度自定义,以实现你想要的效果。
有三种初始化栈的方法:
第一种就是使用默认的方法:
public void initStack(int numberOfStacked)
第二种方法可以设置方向
public void initStack(int numberOfStacked, StackPageTransformer.Orientation orientation)
第三种方法可以设置scale 方向 对其方式等属性
public void initStack(int numberOfStacked, StackPageTransformer.Orientation orientation, float currentPageScale, float topStackedScale, float overlapFactor, StackPageTransformer.Gravity gravity)
导入项目
build.gradle
dependencies { compile 'com.bartoszlipinski.flippablestackview:library:1.2.1' }