Giter Club home page Giter Club logo

verticalviewpager's Introduction

VerticalViewPager

Build Status Platform License Android Arsenal

Vertically ViewPager and vertically transformer for Android. This library is not copy ViewPager code. Extended class.

default zoom_out stack

Usage

VerticalViewPager viewPager = new VerticalViewPager();
viewPager.setAdapter(adapter);
viewPager.setPageTransformer(false, new DefaultTransformer());

//viewPager.setPageTransformer(false, new ZoomOutTransformer());
//viewPager.setPageTransformer(true, new StackTransformer());

Download from Gradle

dependencies {
    compile 'me.kaelaela:verticalviewpager:1.0.0@aar'
}

Next

  • Use with scrollable views(ListView, ScrollView, RecyclerView, WebView).
  • Add more transformers.(Please contribute me!
  • Sticky header.

Me

Yuichi Maekawa(Kaelaela)

License

Copyright (C) 2015 kaelaela
Copyright (C) 2013 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

verticalviewpager's People

Contributors

kaelaela avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

verticalviewpager's Issues

The Sample is working

I have downloading the source code and extracted the sample project as a new project but it's not working

Add ListView item in fragment

Great example thanks for that.
Can we add List item to each fragment in a bundle?
one item from list for each fragment.

有一个小的问题,当在Fragment添加SurfaceView的时候,出现的

我遇到的问题是,Fragment添加SurfaceView,触摸屏幕的时候,会造成一个问题 SurfaceView 会被隐藏,显示出底部背景, 从而造成闪现背景, 最后我发现 其实子页并非在最上面,所以触摸事件被隐藏在其上面的View给消费了,我的解决方案是在VerticalViewPager中重写onPageScrolled和setPageTransformer, 下面是我的解决方案的源码
`
@OverRide
protected void onPageScrolled(int position, float offset, int offsetPixels) {
super.onPageScrolled(position, offset, offsetPixels);
// 下面的源码来自super.onPageScrolled()
int scrollX;
int childCount;
int i;
if (this.mPageTransformer != null) {
scrollX = this.getScrollX();
childCount = this.getChildCount();

        for (i = 0; i < childCount; ++i) {
            View var15 = this.getChildAt(i);
            ViewPager.LayoutParams var16 = (ViewPager.LayoutParams) var15.getLayoutParams();
            if (!var16.isDecor) {
                float var17 = (float) (var15.getLeft() - scrollX) / (float) this.getClientWidth();
                this.mPageTransformer.transformPage(var15, var17);
            }
        }
    }
}

private int getClientWidth() {
    return this.getMeasuredWidth() - this.getPaddingLeft() - this.getPaddingRight();
}

@Override
public void setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer) {
    super.setPageTransformer(reverseDrawingOrder, null);
    mPageTransformer = transformer;
}`

Manifest Merger failed

Hi,
I imported your library to my app via gradle and got a build error:
"Manifest merger failed : Attribute application@allowBackup value=(false)".

I guess your lib does not need this flag. Can you please remove it?

java.lang.IllegalArgumentException: pointerIndex out of range

 java.lang.IllegalArgumentException: pointerIndex out of range
   at android.view.MotionEvent.nativeGetAxisValue(Native Method)
   at android.view.MotionEvent.getX(MotionEvent.java:2139)
   at android.support.v4.view.ViewPager.onInterceptTouchEvent(ViewPager.java:2064)

my answer:

 @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        try {
            boolean intercept = super.onInterceptTouchEvent(swapTouchEvent(event));
            //If not intercept, touch event should not be swapped.
            swapTouchEvent(event);
            return intercept;
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
        return false;
    }

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        try {
            return super.onTouchEvent(swapTouchEvent(ev));
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
        return false;
    }

Vertical Swipe

I still have to swipe horizontally in order for it to scroll. Anyway to switch that to swipe vertically instead? Everything else works perfect, thank you :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.