Android library to display a ListView whose cells are not rigid but flabby and react to ListView scroll.

Overview

FlabbyListView

This library is not maintained anymore and there will be no further releases

Android library to display a ListView which cells are not rigid but flabby and react to ListView scroll and touch events.

A video example of this library is on this youtube video.
And I also wrote a blog post about this library in my blog

Usage

1.Place the FlabbyListView on your layout:

    <com.jpardogo.android.flabbylistview.lib.FlabbyListView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

2.Populate it with items which xml layout is wrap by a FlabbyLayout:

    <!--Notice that this view extends from <FrameLayout/>.-->
    <com.jpardogo.android.flabbylistview.lib.FlabbyLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/apk/tools"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:orientation="vertical">

        <!--Your content-->

    </FlabbyLayout>

3.Set the color of each item. It needs to be set on the getView method of your adapter calling setFlabbyColor from FlabbyLayout:

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (convertView == null) {
            convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list, parent, false);
            holder = new ViewHolder(convertView);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        int color = Color.argb(255, mRandomizer.nextInt(256), mRandomizer.nextInt(256), mRandomizer.nextInt(256));
        ((FlabbyLayout)convertView).setFlabbyColor(color);
        holder.text.setText(getItem(position));
        return convertView;
    }

Including in your project

You can either add the library to your application as a library project or add the following dependency to your build.gradle:

Maven Central

dependencies {
    compile 'com.jpardogo.flabbylistview:library:(latest version)'
}

Notes

The iOS version developed by brocoo is available at BRFlabbyTable

Developed By

Javier Pardo de Santayana Gómez - [email protected]

Follow me on Twitter Follow me on Google+ Follow me on LinkedIn

License

Copyright 2013 Javier Pardo de Santayana Gómez

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.
You might also like...
Easy to use ListView with pinned sections for Android.
Easy to use ListView with pinned sections for Android.

Easy to use ListView with pinned sections for Android 2.1 and higher. Pinned section is a header view which sticks to the top of the list until at lea

A ListView with pinned section headers for Android

PinnedHeaderListView This library provides a sectioned ListView with pinned headers. It looks and feels much like the default contacts app does on And

A generic, customizable, open source Android ListView implementation that has 'Pull to Refresh' functionality.
A generic, customizable, open source Android ListView implementation that has 'Pull to Refresh' functionality.

Android 'Pull to Refresh' ListView library Demo video: http://www.youtube.com/watch?v=VjmdELnm3GI Project A generic, customizable, open source Android

Awesome Listview filter functionality in Android.
Awesome Listview filter functionality in Android.

About Awesome Listview filter functionality in Android. See it in Action: https://www.youtube.com/watch?v=RO54U1ES5CA Listview with beautiful transpar

Android ListView with sticky headers

DEPRECATED HeaderListView is deprecated. No new development will be taking place. Quickstart Import the HeaderListView module in your Android Studio p

Simple ListView based Android AccordionView
Simple ListView based Android AccordionView

Android Accordion View Example git pull import to eclipse properties-android uncheck is library run as android application See main.xml. Screenshot L

Android ListView that implements the QuickReturn UI pattern. Written from scratch with focus on performance.
Android ListView that implements the QuickReturn UI pattern. Written from scratch with focus on performance.

QuickReturn Android ListView that implements the QuickReturn UI pattern. Written from scratch with focus on performance. Demo Usage In your build.grad

AssignmentListView is an Android ListView widget which calculate image loading times.

AssignmentListView is an Android ListView widget which calculate image loading times.

[] A swipe menu for ListView.
[] A swipe menu for ListView.

SwipeMenuListView A swipe menu for ListView. Demo Usage Add dependency dependencies { compile 'com.baoyz.swipemenulistview:library:1.3.0' } Step 1

Comments
  •  Main manifest has <uses-sdk android:minSdkVersion='8'> but library uses minSdkVersion='10'

    Main manifest has but library uses minSdkVersion='10'

    I want to reference the library in my project(https://github.com/snowdream/android-widgets).i get the error as follows.
    It seems that the minSdkVersion of my project is 8, but your minSdkVersion is 10.
    If your library is avaiable for minSdkVersion 8, can you modify it to minSdkVersion 8,thank you.

    [/home/snowdream/workspace/git/android-widgets/lib/src/main/AndroidManifest.xml, /home/snowdream/workspace/git/android-widgets/lib/build/exploded-aar/com.jpardogo.flabbylistview/library/1.0.0/AndroidManifest.xml:2]   
     Main manifest has <uses-sdk android:minSdkVersion='8'> but library uses minSdkVersion='10'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    
    opened by snowdream 1
  • Invalid Region.Op - only INTERSECT and DIFFERENCE

    Invalid Region.Op - only INTERSECT and DIFFERENCE

    I use it in android 9.0. something happened Process: com.aiocw.termsinnocent, PID: 5980 java.lang.IllegalArgumentException: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed at android.graphics.Canvas.checkValidClipOp(Canvas.java:789) at android.graphics.Canvas.clipRect(Canvas.java:836) at com.jpardogo.android.flabbylistview.lib.FlabbyLayout.onDraw(FlabbyLayout.java:59) at android.view.View.draw(View.java:20226) at android.view.View.updateDisplayListIfDirty(View.java:19101) at android.view.View.draw(View.java:19954)

    about this erro. FlabbyLayout.java @Override protected void onDraw(final Canvas canvas) { if (mWidth == 0) mWidth = getWidth(); if (mHeight == 0) mHeight = getHeight(); mRect = canvas.getClipBounds(); mRect.inset(0, -mHeight / 2); canvas.clipRect(mRect, Region.Op.REPLACE); float startX1;

    use this if(Build.VERSION.SDK_INT >= 28){ canvas.clipPath(mPath0); }else { canvas.clipPath(mPath0, Region.Op.XOR); } to replace

    could you fix this problem?

    opened by Yaque 0
  • FlabbyLayout background color changes after loading images.

    FlabbyLayout background color changes after loading images.

    Hi I am loading images in this FlabbyListView using UIL library. I want to set background color of listview items like you are doing(but I want to change alternate color only). Problem is that color loads as image gets loaded. Please how can we add background color of listitems before loading image.

    Thanks

    opened by 19rs39 0
Owner
JPARDOGO
Android language writer and translator. Twitter: @jpardogo
JPARDOGO
A small android library for tagging views inside a ScrollView as "sticky" making them stick to the top of the scroll container until a new sticky view comes and takes it's place

StickyScrollViewItems StickyScrollViewItems is a ScrollView subclass that allowed you to mark items inside the ScrollView as sticky. The items marked

Emil Sjölander 1k Jan 7, 2023
Android library to observe scroll events on scrollable views.

Android-ObservableScrollView Android library to observe scroll events on scrollable views. It's easy to interact with the Toolbar introduced in Androi

Soichiro Kashima 9.6k Dec 30, 2022
Android library to achieve in an easy way, the behaviour of the home page in the Expedia app, with a pair of auto-scroll circular parallax ListViews.

ListBuddies This library is not maintained anymore and there will be no further releases Android library of a pair of auto-scroll circular parallax Li

JPARDOGO 970 Dec 29, 2022
Scroll + discover = DiscrollView

Discrollview Regularly, I am pleasantly surprised by websites using a pattern I called the discrollver pattern. I'm sure you already know what I'm tal

Flavien Laurent 1.5k Dec 29, 2022
Android widget with pull to refresh for all the views,and support loadMore for ListView , RecyclerView, GridView and SwipeRefreshLayout.

CommonPullToRefresh Android widget with pull to refresh for all the views,and support loadMore for ListView,RecyclerView,GridView and SwipeRefreshLayo

null 1.1k Nov 10, 2022
An Android custom ListView and ScrollView with pull to zoom-in.

PullZoomView An Android custom ListView and ScrollView with pull to zoom-in. Features Set ZoomView enable Add HeaderView Custom ZoomView Parallax or N

Frank-Zhu 2.3k Dec 26, 2022
Parallax ScrollView and ListView for Android

Parallax Scrolls Parallax ListView and ScrollView for Android This project includes ScrollView with one or more parallaxed views ListView with paralla

Nir Hartmann 851 Dec 3, 2022
android custom listview,with interaction pattern load more and pull to refresh to load data dinamically

The first thing that i have to say is render thanks to johannilsson because all the part of pull to refresh listview is based in the code of his repos

Fabian Leon 447 Nov 15, 2022
Bringing extended scrolling features to Android's native ListView and ExpandableListView.

About QuickScroll QuickScroll is a library aimed at creating similar scrolling experiences to the native Contacts app's People view. It has the same s

Andras Kindler 461 Nov 11, 2022
An easy to use Drag & Drop List for Android. Direct replacement of the android ListView.

DragNDropListView DragNDropListView is a direct replacement for the stock Android ListView. If you know how to use ListView, you already know how to u

null 187 Dec 22, 2022