SwipeListView (Play Store Demo)
An Android List View implementation with support for drawable cells and many other swipe related features.
Click to watch video
SwipeListView was born out of the need to add swipe gestures to ListView on Android for @ 47 Degrees Clients. Contributions and constructive feedback are welcome.
SwipeListView may be automatically imported into your project if you already use Maven. Just declare android-swipelistview as a maven dependency. If you wish to always use the latest unstable snapshots, add the Sonatype repository where the SwipeListView snapshot artifacts are being deployed. SwipeListView official releases will be made available at Maven Central.
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>ignore</checksumPolicy>
</snapshots>
</repository>
<dependency>
<groupId>com.fortysevendeg.android</groupId>
<artifactId>swipelistview</artifactId>
<version>1.0-SNAPSHOT</version>
<type>apklib</type>
</dependency>
You can get the releases, snapshots and other forms in which SwipeListView is distributed from the Downloads page.
SwipeListView depends on the following libraries.
- com.nineoldandroids
SwipeListView expects that you include one of the Google Android compatibility libraries in order to use Loaders in versions that do not support them natively. Depending on your requirements you may choose to include one of the following...
- com.google.android :
- support-v4 (Available in Maven Central)
If you manually include the single SwipeListView jar swipelistview-1.0-SNAPSHOT.jar in your libs/ folder you would also have to add the following dependencies:
- nineoldandroids-2.4.0.jar
- android-support-v4
You'd have to provide also the attrs.xml inside your directory "res/values" so the attributes are properly picked up by the runtime.
We do discourage people from manually adding the jars and recomend following the maven or apklib aproach to include SwipeListView library in your own project.
You can see a demo SwipeListView in action at android-swipelistview-sample or install it from Google Play
If you decide to use SwipeListView as a view, you can define it in your xml layout like this:
<com.fortysevendeg.android.swipelistview.SwipeListView
xmlns:swipe="http://schemas.android.com/apk/res-auto"
android:id="@+id/example_lv_list"
android:listSelector="#00000000"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
swipe:swipeFrontView="@+id/front"
swipe:swipeBackView="@+id/back"
swipe:swipeActionLeft="[reveal | dismiss]"
swipe:swipeActionRight="[reveal | dismiss]"
swipe:swipeMode="[none | both | right | left]"
swipe:swipeCloseAllItemsWhenMoveList="[true | false]"
swipe:swipeOpenOnLongPress="[true | false]"
swipe:swipeAnimationTime="[miliseconds]"
swipe:swipeOffsetLeft="[dimension]"
swipe:swipeOffsetRight="[dimension]"
/>
swipeFrontView
- Required - front view id.swipeBackView
- Required - back view id.swipeActionLeft
- Optional - left swipe action Default: 'reveal'swipeActionRight
- Optional - right swipe action Default: 'reveal'swipeMode
- Gestures to enable or 'none'. Default: 'both'swipeCloseAllItemsWhenMoveList
- Close revealed items on list motion. Default: 'true'swipeOpenOnLongPress
- Reveal on long press Default: 'true'swipeAnimationTime
- item drop animation time. Default: android configurationswipeOffsetLeft
- left offsetswipeOffsetRight
- right offset
Copyright (C) 2012 47 Degrees, LLC http://47deg.com [email protected]
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.