android-FlipView alternatives and similar packages
Based on the "Other Widget" category.
Alternatively, view android-FlipView alternatives based on common mentions on social networks and blogs.
-
ShortcutBadger
The ShortcutBadger makes your Android App show the count of unread messages as a badge on your App shortcut! -
Litho (By Facebook)
A declarative framework for building efficient UIs on Android. -
DragSortListView
Extension of the Android ListView that enables drag-and-drop reordering (No longer maintained). -
TapTargetView
An implementation of tap targets from the Material Design guidelines for feature discovery. -
android-viewbadger
A simple way to "badge" any given Android view at runtime without having to cater for it in layout -
android-stackblur
Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann. -
DraggablePanel
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component. -
aFileChooser
Android library that provides a file explorer to let users select files on external storage. -
Swipecards
A Tinder-like Android library to create the swipe cards effect. You can swipe left or right to like or dislike the content. -
TourGuide
TourGuide is an Android library that aims to provide an easy way to add pointers with animations over a desired Android View -
AndroidQuery
Android-Query (AQuery) is a light-weight library for doing asynchronous tasks and manipulating UI elements in Android. -
android-segmented-control
ios7 UISegmentedControl for android -
MultiSnapRecyclerView
Android library for multiple snapping of RecyclerView -
StickyGridHeaders
An Android Library that makes it easy to make grid views with sectioned data and headers that stick to the top. -
FloatingView
FloatingView can make the target view floating above the anchor view with cool animation. -
TileView
The TileView widget is a subclass of ViewGroup that provides a mechanism to asynchronously display tile-based images, with additional functionality for 2D dragging, flinging, pinch or double-tap to zoom, adding overlaying Views (markers), built-in Hot Spot support, dynamic path drawing, multiple levels of detail, and support for any relative positioning or coordinate system. -
Android-ActionItemBadge
This library offers a simple method to add a small badge icon to your ActionBar-MenuItem -
NiftyNotification
effects for android notifications.base on (Crouton) -
RippleView
View that imitates Ripple Effect on click which was introduced in Android L (for Android 2.3+) -
android-sliding-layer-lib
This repository host a library that provides an easy way to include an autonomous layer/view that slides from the side of your screen and which is fully gesture ready, the same way as our detail view in Wunderlist 2 does. This pattern can also be seen in Google+’s notification center or in Basecamp’s detail view. -
Emoji
A simple library to add Emoji support to your Android Application. In a PopupWindow Emojis can be chosen. In order to edit and display text with Emojis this library provides public APIs: EmojiEditText & EmojiTextView. -
SortableTableView
An Android library containing a simple TableView and an advanced SortableTableView providing a lot of customisation possibilities to fit all needs. -
ScratchView
ScratchView repo is UX Design involving scratch cards like views which are scratched to reveal the information they conceal.
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of android-FlipView or a related project?
README
FlipView
About
This library is made to be very easy to use and at the same time be feature complete. With only a few lines of code you can have a flipping animation between your views, this looks and acts very much like the Flipboard application.
All flipping animations should be very smooth and i have added lighting effects so the flipping look more realistic.
Honeycomb (api lvl 11) or above is required for this library to work properly, however it will compile (and run, though without good performance) for much lower versions with just a few tweaks.
Download a compiled version of the sample here: https://www.dropbox.com/s/tvmdhre4ra8l41p/sample-debug-unaligned.apk
Installing
Gradle
Add the following gradle dependency exchanging x.x.x
for the latest release.
dependencies {
compile 'se.emilsjolander:android-flipview:x.x.x'
}
Usage
After installing, create a layout file container a something similar to this:
<se.emilsjolander.flipview.FlipView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:flipview="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/flip_view"
flipview:orientation="vertical"
flipview:overFlipMode="glow" />
In your activity/fragment you should do somthing like this:
FlipView flipView = (FlipView) findViewById(R.id.flip_view);
MyAdapter adapter = new MyAdapter();
flipView.setAdapter(adapter);
MyAdapter
in this case is just a normal adapter, nothing different from on you would use with a ListView
.
Api
I have designed the api to be as similar as possible to that of a ListView
.
FlipView uses a regular ListAdapter
, get and set the adapter with the following methods:
void setAdapter(ListAdapter adapter);
ListAdapter getAdapter();
Use the following methods to get the number of pages and what the current visible page is.
int getPageCount();
int getCurrentPage();
The following methods work like scrollTo
, smoothScrollTo
, scrollBy
and smoothScrollBy
from ListView
.
void flipTo(int page);
void smoothFlipTo(int page);
void flipBy(int pageDelta);
void smoothFlipBy(int pageDelta);
Peaking is a way to inform the user that there is more content, or to teach the user how to interact with your application.
Peaking can be done either once or until the FlipView
has been interacted with.
void peakNext(boolean once);
void peakPrevious(boolean once);
FlipView
supports both vertical (default) and horizontal flipping.
I feel it would be wrong to change the orientation dynamically so i have limited it to being set via xml.
boolean isFlippingVertically();
This is how to set a listener on the FlipView
to recieve callbacks.
void setOnFlipListener(OnFlipListener onFlipListener);
There are multiple over flip modes. The 2 that exists now are GLOW
and RUBBER_BAND
. GLOW
is using the edge glow effect seen in all android lists and is the default over flip mode. RUBBER_BAND
is more like the iOS way to inform of the end of lists, this is also a lot like the flipboard app informs users that they are on the first/last page.
This can be set in xml using the following attribute. The mode can be either "glow" or "rubber_band".
flipview:overFlipMode="glow"
Here are the corrosponding java method calls. The OverFlipMode enum contains GLOW and RUBBER_BAND values.
void setOverFlipMode(OverFlipMode overFlipMode);
There is also a listener for detecting over flip. This is usefull when wanting to implement pull-to-refresh functionality or just detecting that the user is intressted in seeing more data.
void setOnOverFlipListener(OnOverFlipListener onOverFlipListener);
Much like AdapterView subclasses you can set a view that will be shown/hidden depending on if the FlipView has any data.
void setEmptyView(View empty);
Remember that you are responsible for adding the view that you pass into this method into the view hierarchy. A typical way of using this method is to include a view in your layout file with android:id="@+id/empty_view"
and then putting the following code in your onCreate() method.
mFlipView.setEmptyView(findViewById(R.id.empty_view));
Contributing
Pull requests and issues are very welcome!
Feature request are also welcome but i can't make any promise that they will make it in. I would like to keep the library as general as possible, if you are unsure you can just ask before you code ;)