{"id":21130341,"url":"https://github.com/blipinsk/FlippableStackView","last_synced_at":"2025-07-09T01:33:17.995Z","repository":{"id":26665484,"uuid":"30121957","full_name":"blipinsk/FlippableStackView","owner":"blipinsk","description":"An Android library introducing a stack of Views with the first item being flippable.","archived":false,"fork":false,"pushed_at":"2017-09-02T05:42:44.000Z","size":5707,"stargazers_count":809,"open_issues_count":8,"forks_count":150,"subscribers_count":36,"default_branch":"master","last_synced_at":"2024-11-13T19:02:08.374Z","etag":null,"topics":["android","java","pagetransformer","stack","viewpager"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blipinsk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-31T18:38:08.000Z","updated_at":"2024-10-05T17:09:11.000Z","dependencies_parsed_at":"2022-07-10T13:16:37.616Z","dependency_job_id":null,"html_url":"https://github.com/blipinsk/FlippableStackView","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blipinsk%2FFlippableStackView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blipinsk%2FFlippableStackView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blipinsk%2FFlippableStackView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blipinsk%2FFlippableStackView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blipinsk","download_url":"https://codeload.github.com/blipinsk/FlippableStackView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225476370,"owners_count":17480215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","java","pagetransformer","stack","viewpager"],"created_at":"2024-11-20T05:32:37.821Z","updated_at":"2024-11-20T05:32:46.051Z","avatar_url":"https://github.com/blipinsk.png","language":"Java","readme":"FlippableStackView\n===============\n\n[![License](https://img.shields.io/github/license/blipinsk/FlippableStackView.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0)\n[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-FlippableStackView-green.svg?style=flat)](http://android-arsenal.com/details/1/1854)\n[![Maven Central](https://img.shields.io/maven-central/v/com.bartoszlipinski.flippablestackview/library.svg)](http://gradleplease.appspot.com/#flippablestackview)\n\nAn Android library introducing a stack of Views with the first item being flippable.\n\n`Views` inside the stack remain the aspect ratio of the `FlippableStackView`.\n\n![ ](/FlippableStackView.png)\n\n\nLibrary in action\n=================\n\n![ ](/FlippableStackView.gif)\n\nUsage\n=====\n*For a working implementation of this library see the `sample/` folder.*\n\n  1. Include the view inside your layout xml\n  \n      ```xml\n      \u003ccom.bartoszlipinski.flippablestackview.FlippableStackView\n        android:id=\"@+id/stack\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\" /\u003e\n      ```\n\n  2. `FlippableStackView` is based on the specific `PageTransformer` used with the `ViewPager`. Therefore to fill the `View` you can use just a typical implementation of a [`PagerAdapter`][1]. In your `onCreate` method (or `onCreateView` for a fragment), setup all the parameters of the `FlippableStackView`.\n\n      ```java\n      FlippableStackView stack = (FlippableStackView) findViewById(R.id.stack);\n      stack.initStack(2);\n      stack.setAdapter(mStackAdapter); //assuming mStackAdapter contains your initialized adapter\n      ```\n      \n**Important Note:**\nThe current implementation of the library will display the elements from the `Adapter` in the reverse order. In other words: view at position 0 of your adapter will be displayed at the bottom of the stack and view at position `adapter.getCount()-1` will be visible first (available for the first flip).\n\nCustomization\n-------------\nThe `FlippableStackView` is highly customizable to provide you with just the visual effect you really wanted.\n\nThere are three methods that allows for initialization of the stack:\n\n  1. First one sets up the stack in the default way (scale-wise and orientation-wise):\n \n       ```java\n       public void initStack(int numberOfStacked)\n       ```\n\n  2. The second one sets up the stack in the default way (scale-wise) but let's you choose the orientation of it:\n\n      ```java\n      public void initStack(int numberOfStacked, StackPageTransformer.Orientation orientation)\n      ```\n\n  2. And the last one... a bit more advanced (lets you customize all the scale-related, orientation-related and alignment-related parameters):\n  \n        ```java\n        public void initStack(int numberOfStacked,\n                              StackPageTransformer.Orientation orientation,\n                              float currentPageScale,\n                              float topStackedScale,\n                              float overlapFactor,\n                              StackPageTransformer.Gravity gravity)\n        ```\n \n Be sure to read about all the parameters in `Javadoc` before using the last one.\n\nIncluding In Your Project\n-------------------------\nYou can grab the library via Maven Central. Just add a proper dependency inside your `build.gradle`. Like this:\n\n```xml\ndependencies {\n    compile 'com.bartoszlipinski.flippablestackview:library:1.2.1'\n}\n```\n\nDeveloped by\n==========\n * Bartosz Lipiński\n\nCredits\n-------\nMaven Central deployment was performed using an awesome Gradle script by [Chris Banes][2]. [This][3] made things so much easier.\n\nLicense\n======\n\n    Copyright 2015 Bartosz Lipiński\n    \n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n\n [1]: http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html\n [2]: https://chris.banes.me/2013/08/27/pushing-aars-to-maven-central/\n [3]: https://github.com/chrisbanes/gradle-mvn-push\n","funding_links":[],"categories":["Libs"],"sub_categories":["\u003cA NAME=\"Widget\"\u003e\u003c/A\u003eWidget"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblipinsk%2FFlippableStackView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblipinsk%2FFlippableStackView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblipinsk%2FFlippableStackView/lists"}