• Stars
    star
    209
  • Rank 188,325 (Top 4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 10 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A set of widgets to create smooth slideshows with ease.

Android SlideShow Widget

A set of widgets to create smooth slide shows with ease. The slide show components are fully customizable and are not limited to pictures, you can slide whatever you want to (texts, etc.).

Demo

A demo of the widget is worth a thousand words. You can download it for free on Google Play.

Demo on Google Play

Usage

Including the library

The easiest way to get the library included in your project is by using Gradle. Simply add the following line to your dependencies block:

dependencies {
    compile 'com.marvinlabs:android-slideshow-widget:0.4.+@aar'
}

Of course, you can replace the version number by whichever version you need (you can have a look at this repository's tags to know which is the latest).

Getting a slide show in your fragment/activity

To include a slide show in your layout, simply use the following XML code snippet:

<com.marvinlabs.widget.slideshow.SlideShowView
    android:id="@+id/slideshow"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

You can then get the SlideShowView using the usual technique:

slideShowView = (SlideShowView) findViewById(R.id.slideshow);

The next step is to create the adapter that will bind your slide data to actual views. This is a process very similar to what you do when working with the ListView widget. In this library, we have a few base adapters to help you create picture slide shows easily from images in your application resources or from images on the Internet. The code would look like that:

adapter = new ResourceBitmapAdapter(this, new int[]{
    R.raw.slide_01, R.raw.slide_02, R.raw.slide_03, R.raw.slide_04});

Once your activity is ready, or inside an event handler like a button click method, you can then start the slideshow:

slideShowView.play();

Customisable components

SlideShowAdapter

This is the key component to bind your slide data with actual view widgets. Have you heard about ListView and Adapter? Well, this is exactly the same concept.

To get you started with picture slide shows, we have created a few useful adapters:

  • ResourceBitmapAdapter will allow you to show a list of application resource drawables
  • RemoteBitmapAdapter will allow you to show a list of images that are loaded from the Internet.

We also have a Picasso plugin library. That provides an adapter that works with Picasso instead of AsyncTasks. To use it, simply add the corresponding dependency using gradle:

dependencies {
    compile 'com.marvinlabs:android-slideshow-widget-picasso-plugin:0.4.+@aar'
}

SlideTransitionFactory

You want something else than just a fade between slides? Simply implement this interface to return whichever view animator you want.

To make it easy for you, we already have a few default implementations that should cover most of your needs:

  • FadeTransitionFactory if you want your slides to fade out and in
  • SlideAndZoomTransitionFactory if you want your slides to slide ou left and then zoom in
  • NoTransitionFactory if you want your slides to brutally show up

PlayList

You want to change the order of your slides? You need your slides to have a variable duration? Well, that's the interface to implement to change that.

To make it easy for you, we already have a few default implementations that should cover most of your needs:

  • SequentialPlayList will play slides in order with a common default duration
  • RandomPlayList will play slides in a random order with a common default duration

About Vincent & MarvinLabs

I am a freelance developer located in Biarritz, France. You can have a look at my website to get to know me a little better. If you want to follow me, here are some links:

MarvinLabs is my digital studio specialised in native mobile applications and web sites. You can browse our website to get to know us a little better. If you want to get updates about our work, you can also:

Change log

0.5.0 (2014-06-03)

  • [new] making the adapters more generic so that they can easily be used with existing data
  • [new] added a Picasso plugin (an adapter to use Picasso to load remote images)

0.3.0 (2014-06-02)

  • [new] new transition factories
  • [new] playback control function (next, previous, pause, resume)
  • [new] widget can be configured from XML
  • [fix] issue #2

0.2.0 (2014-06-01)

  • [new] a RandomPlayList implementation
  • [new] listener for slide show events
  • [new] listener for slide click event (similar to ListView's item click listener) (Thanks Arasthel)
  • [fix] Some additional inline documentation

0.1.0 (2014-05-31)

  • First release (beta)
  • SlideShowView widget to play a slide show
  • SlideTransitionFactory to customize the transitions between slides (with 2 default implementations)
  • PlayList to customize the order and duration of slides (with 1 default implementations)
  • SlideShowAdapter to bind slide data to actual view widgets (with 2 default implementations)
  • Demo application

More Repositories

1

android-floatinglabel-widgets

Floating label input widgets
Java
446
star
2

android-intents

A small library which will save you from writing the same intent creation code again and again for the most simple tasks
Java
421
star
3

laravel-setup-wizard

A Laravel package to help you build a web setup wizard for your application
PHP
204
star
4

laravel-discord-logger

Logging to a discord channel in Laravel
PHP
169
star
5

notepad-plus-plus-scss-syntax-highlighting

Add some syntax highlighting with the default CSS settings provided by Notepad++
133
star
6

laravel-luhn

Laravel utilities to ease validation and computation of credit cards, SIREN, etc.
PHP
106
star
7

android-unlocker-library

A library to ease implementation of unlock application for your freemium apps
Java
104
star
8

android-constrained-widgets

Set of Android widgets that will respect a given aspect ratio
Java
43
star
9

laravel-html-bootstrap-4

Bootstrap 4 fluent HTML builder
PHP
42
star
10

android-tutorials-custom-selectable-listview

Source code for our tutorial about how to get checkable rows in a custom ListView
Java
32
star
11

customer-area

A WordPress plugin to offer private content to your users -- MOVED TO https://gitlab.com/wp-customerarea/plugins/customer-area
PHP
31
star
12

acra-server

A server to collect crash data of your android applications
PHP
26
star
13

android-progress-panel

A widget to hold information that can be shown after a task completes
Java
25
star
14

laravel-html-font-awesome

A fluent html builder for Font Awesome icons
PHP
14
star
15

bxslider-for-wordpress

bxSlider for WordPress integrates the cool responsive content slider "bxSlider jQuery plugin" in your very own WordPress site
JavaScript
5
star
16

wpca-twenty-twelve

Sample theme for Customer Area developers -- MOVED TO https://gitlab.com/wp-customerarea/themes/wpca-twenty-twelve/
PHP
4
star
17

wpca-translations

Translation files for add-ons to WP Customer Area plugin -- MOVED to https://gitlab.com/wp-customerarea/tools/wpca-translations/
3
star
18

wpca-products-build-environment

Our developer environment to help building add-ons and contributing to the plugin -- MOVED TO https://gitlab.com/wp-customerarea/tools/wpca-products-build-environment
PHP
3
star
19

acra-bug-generator

A simple android application to create crashes for testing your ACRA backend
Java
2
star
20

jquery.hoverme

A jQuery plugin for cool sliding boxes
JavaScript
1
star
21

grunt-wpca

Grunt plugin to ease WP Customer Area development
JavaScript
1
star
22

wordpress-project-starter

A basic structure to easily start a WordPress project
PHP
1
star