This project aims to provide a working page flip implementation for usage in ListView
FlipViewPager.Draco
This project aims to provide a working page flip implementation for usage in ListView. Made in [Yalantis]
Changes:
- Made clickable views like a button clickable inside the FlipViewPager.
- Use RecyclerView.
- Updated to API 23.
- Added support for close clicks on a MergePage e.g. to add a close button.
Usage
For a working implementation, Have a look at the Sample Project - sample
To achieve the same grid-looking view you should:
-
Include the library as local library project:
compile 'com.yalantis:flipviewpager:1.0.0'
-
Create your main layout, it will be the view with 2 items merged together:
<!-- ... --> <ImageView android:id="@+id/first" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="0dp" android:layout_weight="1" android:contentDescription="left image" android:layout_height="wrap_content" android:scaleType="fitXY" /> <LinearLayout android:layout_width="1dp" android:layout_weight="0" android:background="#000000" android:layout_height="fill_parent"/> <ImageView android:id="@+id/second" android:layout_width="0dp" android:layout_weight="1" android:contentDescription="right image" android:layout_height="wrap_content" android:scaleType="fitXY" /> <!-- ... -->
-
Create layout for displaying an additional info for each merged item:
<!-- ... --> <com.yalantis.flip.sample.views.FontTextView style="@style/TextView.Nickname" android:id="@+id/nickname" /> <LinearLayout android:layout_below="@+id/nickname" android:id="@+id/interestsPrimary" style="@style/LinearLayout.Interests"> <com.yalantis.flip.sample.views.FontTextView style="@style/TextView.Interest" android:id="@+id/interest_1" /> <!-- ... --> </LinearLayout>
-
Create your adapter and extend it from
BaseFlipAdapter<T>
class FriendsAdapter extends BaseFlipAdapter<Friend> { @Override public View getPage(int position, View convertView, ViewGroup parent, Friend friend1, Friend friend2) { // ... } class FriendsHolder { // ... } }
-
Set your adapter in
ListView
final ListView friends = (ListView) findViewById(R.id.friends); friends.setAdapter(new FriendsAdapter(this, Utils.friends, settings));
-
You can handle clicks just like in regular
ListView
friends.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Friend friend = (Friend) friends.getAdapter().getItem(position);
Toast.makeText(FriendsActivity.this, friend.getNickname(), Toast.LENGTH_SHORT).show();
}
});
More options will be added soon :)