A cool Open Source CoverFlow view for Android with several fancy effects.

Related tags

UI/UX FancyCoverFlow
Overview

FancyCoverFlow

THIS PROJECT IS NO LONGER MAINTAINED!

What is FancyCoverFlow?

FancyCoverFlow is a flexible Android widget providing out of the box view transformations to give your app a unique look and feel. Curious about what FancyCoverFlow can do for you? Check out the FancyCoverFlow examples on Google Play.

Google Play Link FancyCoverFlow Framed Screenshot

How to use?

Using FancyCoverFlow in your Android app is as simple as

fancyCoverFlow = new FancyCoverFlow(context);
fancyCoverFlow.setMaxRotation(45);
fancyCoverFlow.setUnselectedAlpha(0.3f);
fancyCoverFlow.setUnselectedSaturation(0.0f);
fancyCoverFlow.setUnselectedScale(0.4f);

You can also inflate FancyCoverFlow from XML:

<at.technikum.mti.fancycoverflow.FancyCoverFlow
        android:layout_width="match_parent"
    	android:layout_height="match_parent"
        fcf:maxRotation="45"
        fcf:unselectedAlpha="0.3"
    	fcf:unselectedSaturation="0.0"
        fcf:unselectedScale="0.4" />
Comments
  • Use multiple views as coverflow item

    Use multiple views as coverflow item

    Is it possible to inflate a whole layout consisting of several views as a single coverflow item and set that layout in XML? It would be nice to see such an example.

    This is the view I wish to have as a single coverflow item. Help appreciated!

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <ImageView
        android:id="@+id/positionViewIv"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:scaleType="fitCenter"
        android:src="@drawable/red_0"
        android:layout_centerInParent="true"/>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_centerInParent="true">
        <TextView
            android:id="@+id/positionViewTv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="BALANCE"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="SUMMARY"/>
    </LinearLayout>
    
    opened by guyzk 8
  • Excessive calls to getChildStaticTransformation

    Excessive calls to getChildStaticTransformation

    I have added a Log.e line into the getChildStsticTransformation and noticed that this routine is called continuously, many times a second, never stopping. Not exactly a loop as the App remains responsive, but obviously this would be a significant drain on device resources. I have found that the problem is resolved by commenting out the following: if (android.os.Build.VERSION.SDK_INT >= 16) { // item.invalidate(); }

    I am running on builds > 16 and yet I notice no visual difference after commenting as above. I do not use reflection. What exactly is the need for this additional invalidate?

    Regards

    Roy

    opened by RPCarter53 8
  • Move next and previous using buttons

    Move next and previous using buttons

    Hello,

    I started using this library and I'm having some trouble in understanding how can I make the coverflow to go to specific item (and animate). I was trying to force the click event on the item, but with no luck so far. Is there an easy way to do this? Thanks.

    opened by rptts 6
  • How to change default image position to display

    How to change default image position to display

    This library is awesome. But I have problem with default image position to display. I have an array image[] imgArr. By default, it always show imgArr[0]. Would you tell me how to change it to imgArr[1] or other?

    Many thanks!!

    opened by yuan8421 5
  • Use of negative setSpacing causes selection issues

    Use of negative setSpacing causes selection issues

    Hi,

    I'm using a negative spacing (coverFlow.setSpacing(-200)) to achieve a certain look. This works but creates item selection issues. For example if you touch the first item to the left it acts like if the second item was touched even if visually they don't overlap.

    Is setSpacing the right way to reduce space between items ?

    Thanks,

    Julien

    opened by DjulLau 4
  • How to get current position from fancycoverflow?

    How to get current position from fancycoverflow?

    Hi, good library for this one but i have some issues, how can i get current position from this coverflow?. When i scroll to play with this, i need to get the center of child position. Please quick reply to this one.

    Thanks in advance.

    opened by SakthivelA 3
  • New Features added

    New Features added

    As the original FancyCoverFlow is short of an attribute about changing the position at Z-axis, which is compared to another similar effect like 3D-Gallery, this pull request is to fix that.

    opened by bytebeats 3
  • Images including drop shadows

    Images including drop shadows

    There is an annoying bug with images including drop shadows.

    With this sample image for example : https://dl.dropboxusercontent.com/s/da9c10jdtk4g0c0/98014_presentations-01.png

    I used a vertical LinearLayout to contain an ImageView and a TextView. Every time I scroll, the drop shadow of the image is like doubled, as if the Bitmap was drawn over the previous one at each call of the draw function.

    I understand the problem but I can't find how to fix it.

    opened by Gorcyn 3
  • Custom View Group using Fragments

    Custom View Group using Fragments

    I am trying to use a custom view group with cover flow. Instead of an XML layout or view , I am trying to load the view from fragment transaction. Here is the code I am trying to use here,

    @Override

    public View getCoverFlowItem(int i, View reuseableView, ViewGroup viewGroup) { CustomViewGroup fancyView = null; if (reuseableView != null) { fancyView = (CustomViewGroup) reuseableView; } else { fancyView = new CustomViewGroup(context); fancyView.getFrameLayout().setId(i+10000); fancyView.setLayoutParams(new FancyCoverFlow.LayoutParams(750, ViewGroup.LayoutParams.WRAP_CONTENT)); }

        FragmentManager fragmentManager = manager;
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(fancyView.getFrameLayout().getId(), ItemFragment.init(i));
        fragmentTransaction.commit();
    
    
    
    
    
        return fancyView;
    }
    
    class CustomViewGroup extends LinearLayout {
    
        // =============================================================================
        // Child views
        // =============================================================================
    
        private FrameLayout frameLayout;
    
    
    
        // =============================================================================
        // Constructor
        // =============================================================================
    
        private CustomViewGroup(Context context) {
            super(context);
    
            this.setOrientation(VERTICAL);
    
            this.frameLayout = new FrameLayout(context);
    
            LinearLayout.LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
            this.frameLayout.setLayoutParams(layoutParams);
    
    
    
    
    
            this.addView(this.frameLayout);
        }
    
        // =============================================================================
        // Getters
        // =============================================================================
    
        private FrameLayout getFrameLayout() {
            return frameLayout;
        }
    }    
    

    For me the issue is the getView function is getting called infinite number of times for value i=0. But If I don't commit a fragment transaction it works normal(ie getting called only once for index 0)

    Any clue on whats happening here?

    Thanks

    opened by zachtom 2
  • OOM Occurs..

    OOM Occurs..

    It's a very nice libray..

    but when I use it and try to make the item not noly just ImageView...and then play it over and over..OOM Will Occurs...

    for help...

    opened by asker517 2
  • not Scrolling over the buttons

    not Scrolling over the buttons

    On the example of Reflection ViewGroupReflectionExample.java,if you try to scroll over the cover by touching over the buttons it does'nt work as expected.

    opened by Nezam 2
  • coverflow image stacking/overlap improvement

    coverflow image stacking/overlap improvement

    Please see screenshots.

    Problem: The items in the coverflow were incorrectly stacking (to the right of the selected item) and was an eyesore when overlapping.

    Solution: Override the gallery getChildDrawingOrder The solution has been tested, see the 'improvement' screenshot (NB the images to the right of the selected item are now correctly stacked)

    coverflow improvment coverflow before

    opened by tomekhotdog 0
  • fixed: WRAP_CONTENT & Gallery.LayoutParams vs. other LayoutParams...

    fixed: WRAP_CONTENT & Gallery.LayoutParams vs. other LayoutParams...

    fixed: WRAP_CONTENT will now work for child groups -> onMeasure inheritance over LinearLayout instead of ViewGroup->View

    fixed: due to creation of new Gallery.LayoutParams from the wrappedView params we are save in supporting the superset from ViewGroup.LayoutParams

    opened by DEvil0000 1
Owner
David Schreiber-Ranner
Native Team Lead @PSPDFKit (Android, Windows, .NET/Java)
David Schreiber-Ranner
Make your native android Dialog Fancy. A library that takes the standard Android Dialog to the next level with a variety of styling options. Style your dialog from code.

FancyAlertDialog-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ..

Shashank Singhal 350 Dec 9, 2022
FloatingView can make the target view floating above the anchor view with cool animation

FloatingView FloatingView can make the target view floating above the anchor view with cool animation Links 中文版 README Blog about FloatingView demo.ap

UFreedom 1.8k Dec 27, 2022
IconicDroid is a custom Android Drawable which allows to draw icons from several iconic fonts.

IconicDroid IconicDroid is a custom Android Drawable which allows to draw icons from several iconic fonts. Try out the sample application on the Googl

Artur Termenji 387 Nov 20, 2022
Dali is an image blur library for Android. It contains several modules for static blurring, live blurring and animations.

Dali Dali is an image blur library for Android. It is easy to use, fast and extensible. Dali contains several modules for either static blurring, live

Patrick Favre-Bulle 1k Dec 1, 2022
:star2:A cool dynamic view library

ENViews ENViews, A cool dynamic view library.All designed by Nick Buturishvili ENViews, 一个华丽丽的动效控件库,所有控件原型取自Nick Buturishvili的设计作品 Preview Original de

Est 1.8k Jan 3, 2023
effects for android notifications

#NiftyNotification effects for android notifications.base on (Crouton) ScreenShot Usage NiftyNotificationView.build(this,msg, effect,R.id.mLyout)

李涛 1.1k Nov 10, 2022
Parallax everywhere is a library with alternative android widgets with parallax effects.

Parallax Everywhere# Parallax everywhere (PEW) is a library with alternative android views using parallax effects. Demo You can try the demo app on go

fmSirvent 712 Nov 14, 2022
Library for creating blur effects under Android UI elements

BlurTutorial Meet BlurTutorial, an Android-based library made by Cleveroad Hurry to check our newest library that helps to blur the background in Andr

Cleveroad 150 Dec 16, 2022
Sliding cards with pretty gallery effects.

SlidingCard Sliding cards with pretty gallery effects. Download Include the following dependency in your build.gradle file. Gradle: repositories {

mxn 681 Sep 7, 2022
Draggable views with rotation and skew/scale effects

DraggableView Draggable views with rotation and skew/scale effects. Usage Implement DragController.IDragViewGroup Create instance of DragController Ov

Eugene Levenetc 562 Nov 11, 2022
A Jetpack Compose library with blur, pixelate, and other effects to keep your designer happy. Inspired by iOS UIVisualEffectView.

A Jetpack Compose library with blur, pixelate, and other effects to keep your designer happy. Inspired by iOS UIVisualEffectView.

清茶 67 Dec 30, 2022
Make a cool intro for your Android app.

AppIntro AppIntro is an Android Library that helps you build a cool carousel intro for your App. AppIntro has support for requesting permissions and h

AppIntro Team 10.3k Dec 30, 2022
Make a cool intro for your Android app.

AppIntro AppIntro is an Android Library that helps you build a cool carousel intro for your App. AppIntro has support for requesting permissions and h

AppIntro Team 40 Jan 3, 2023
[Archived] Highlight the best bits of your app to users quickly, simply, and cool...ly

ShowcaseView The ShowcaseView (SCV) library is designed to highlight and showcase specific parts of apps to the user with a distinctive and attractive

Alex Curran 5.6k Dec 16, 2022
A download progressbar with cool animation

FreshDownloadView ##About FreshDownloadView is a java library for Android,It's a good way to show download progress with a cool animtion.some inspirat

null 747 Nov 23, 2022
Xamarin.Android provides open-source bindings of the Android SDK for use with .NET managed languages such as C#

Xamarin.Android Xamarin.Android provides open-source bindings of the Android SDK for use with .NET managed languages such as C#. Build Status Platform

Xamarin 1.8k Jan 5, 2023
Beagle is an open-source framework for cross-platform development using the concept of Server-Driven UI.

Beagle Getting Started · Learn the Basics · Contribute Beagle is an open-source framework for cross-platform development using the concept of Server-D

ZUP IT INNOVATION 657 Dec 28, 2022
Android View for displaying and selecting values in a circle-shaped View, with animations and touch gestures.

CircleDisplay Android View for displaying and selecting (by touch) values / percentages in a circle-shaped View, with animations. Features Core featur

Philipp Jahoda 287 Nov 18, 2022
用于做Path动画的自定义View。 I have a path.I have a view. (Oh~),Path(Anim)View.

PathAnimView 用于做Path动画的自定义View。 I have a path.I have a view. (Oh~),Path(Anim)View. 现已经找到图片->SVG->PATH的正确姿势, Now i have a pic.I have a view. Oh~,Path(A

张旭童 1.1k Oct 28, 2022