Android-Coverflow

来源:互联网 发布:店家开通淘宝客条件 编辑:程序博客网 时间:2024/04/30 10:01

git地址:https://github.com/crosswall/Android-Coverflow


Android-CoverFlow

A beautiful cover flow for android platform , base on ViewPager.

Demo Vedio

GIF

Thanks

vincent-paing

Build

Step 1. Add the JitPack repository to your build file
allprojects {repositories {...maven { url "https://jitpack.io" }}}
Step 2. Add the dependency
dependencies {compile 'com.github.crosswall:Android-Coverflow:release-v1.0.4'}

Layout.xml

<me.crosswall.lib.coverflow.core.PagerContainer        android:id="@+id/pager_container"        android:layout_width="match_parent"        android:layout_height="220dp"        android:background="?attr/colorPrimary"><your viewpager.../></me.crosswall.lib.coverflow.core.PagerContainer>
 new CoverFlow.Builder()             .with(viewpager)             .pagerMargin(0f)             .scale(0.3f)             .spaceSize(0f)             .rotationY(0f)             .build();
container.setPageItemClickListener(new PageItemClickListener() {    @Override    public void onItemClick(View view, int position) {        //Toast.makeText(context,"position:" + position,Toast.LENGTH_SHORT).show();      }    });

Two viewpagers synchronized scrolling.

<rootLayout.... <me.crosswall.lib.coverflow.core.LinkagePagerContainer        android:id="@+id/pager_container"        android:layout_width="match_parent"        android:layout_height="180dp">        <android.support.v4.view.LinkagePager            android:layout_width="150dp"            android:layout_height="150dp"            android:layout_gravity="center"/>  </me.crosswall.lib.coverflow.core.LinkagePagerContainer>  <android.support.v4.view.LinkagePager        android:id="@+id/pager"        android:layout_gravity="center"        android:layout_width="match_parent"        android:layout_height="match_parent"        app:velocity="150"/></rootLayout>
//init widgetLinkagePager aPager = (LinkagePager)findViewById(R.id.pager_a)LinkagePager bPager = (LinkagePager)findViewById(R.id.pager_b)//binding scrollaPager.setLinkagePager(bPager);bPager.setLinkagePager(aPager);

To Enable Overlapping

mPagerContainer.setOverlapEnabled(true);

You might want to manually set the first view to be elevated, this can easily be done with this line of code

 //Manually setting the first View to be elevated    viewPager.post(new Runnable() {      @Override public void run() {        Fragment fragment = (Fragment) viewPager.getAdapter().instantiateItem(viewPager, 0);        ViewCompat.setElevation(fragment.getView(), 8.0f);      }    });

原创粉丝点击