{"id":19397945,"url":"https://github.com/marvinlabs/android-slideshow-widget","last_synced_at":"2025-07-16T20:33:59.472Z","repository":{"id":17482578,"uuid":"20263934","full_name":"marvinlabs/android-slideshow-widget","owner":"marvinlabs","description":"A set of widgets to create smooth slideshows with ease.","archived":false,"fork":false,"pushed_at":"2017-02-07T07:58:02.000Z","size":4596,"stargazers_count":208,"open_issues_count":19,"forks_count":61,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-03-31T23:42:56.348Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marvinlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-28T16:09:26.000Z","updated_at":"2024-10-05T16:55:34.000Z","dependencies_parsed_at":"2022-09-26T21:50:48.346Z","dependency_job_id":null,"html_url":"https://github.com/marvinlabs/android-slideshow-widget","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvinlabs%2Fandroid-slideshow-widget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvinlabs%2Fandroid-slideshow-widget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvinlabs%2Fandroid-slideshow-widget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvinlabs%2Fandroid-slideshow-widget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marvinlabs","download_url":"https://codeload.github.com/marvinlabs/android-slideshow-widget/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253668056,"owners_count":21944969,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T11:03:44.953Z","updated_at":"2025-05-12T03:31:41.701Z","avatar_url":"https://github.com/marvinlabs.png","language":"Java","funding_links":[],"categories":["Libs"],"sub_categories":["\u003cA NAME=\"Widget\"\u003e\u003c/A\u003eWidget"],"readme":"Android SlideShow Widget\n========================\n\nA set of widgets to create smooth slide shows with ease. The slide show components are fully \ncustomizable and are not limited to pictures, you can slide whatever you want to (texts, etc.).\n\n## Demo\n\nA demo of the widget is worth a thousand words. You can download it for free on Google Play.\n\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.marvinlabs.widget.slideshow.demo\"\u003e\n  \u003cimg alt=\"Demo on Google Play\"\n         src=\"http://developer.android.com/images/brand/en_generic_rgb_wo_60.png\" /\u003e\n\u003c/a\u003e\n\n## Usage\n\n### Including the library\n\nThe easiest way to get the library included in your project is by using Gradle. Simply add the \nfollowing line to your dependencies block:\n\n```groovy\ndependencies {\n    compile 'com.marvinlabs:android-slideshow-widget:0.4.+@aar'\n}\n```\n    \nOf course, you can replace the version number by whichever version you need (you can have a look at \nthis repository's tags to know which is the latest).\n\n### Getting a slide show in your fragment/activity\n\nTo include a slide show in your layout, simply use the following XML code snippet:\n\n```xml\n\u003ccom.marvinlabs.widget.slideshow.SlideShowView\n    android:id=\"@+id/slideshow\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\" /\u003e\n```\n\nYou can then get the `SlideShowView` using the usual technique:\n\n```java\nslideShowView = (SlideShowView) findViewById(R.id.slideshow);\n```\n\nThe next step is to create the adapter that will bind your slide data to actual views. This is a \nprocess very similar to what you do when working with the `ListView` widget. In this library, \nwe have a few base adapters to help you create picture slide shows easily from images in your\napplication resources or from images on the Internet. The code would look like that:\n\n```java\nadapter = new ResourceBitmapAdapter(this, new int[]{\n    R.raw.slide_01, R.raw.slide_02, R.raw.slide_03, R.raw.slide_04});\n```\n\nOnce your activity is ready, or inside an event handler like a button click method, you can then \nstart the slideshow:\n\n```java\nslideShowView.play();\n```\n\n## Customisable components\n\n### SlideShowAdapter\n\nThis is the key component to bind your slide data with actual view widgets. Have you heard about \n`ListView` and `Adapter`? Well, this is exactly the same concept. \n\nTo get you started with picture slide shows, we have created a few useful adapters:\n\n  - `ResourceBitmapAdapter` will allow you to show a list of application resource drawables\n  - `RemoteBitmapAdapter` will allow you to show a list of images that are loaded from the \n    Internet.\n    \nWe also have a Picasso plugin library. That provides an adapter that works with Picasso instead of\nAsyncTasks. To use it, simply add the corresponding dependency using gradle:\n\n```groovy\ndependencies {\n    compile 'com.marvinlabs:android-slideshow-widget-picasso-plugin:0.4.+@aar'\n}\n```\n    \n### SlideTransitionFactory\n\nYou want something else than just a fade between slides? Simply implement this interface to return \nwhichever view animator you want. \n\nTo make it easy for you, we already have a few default implementations that should cover most of \nyour needs:\n \n  - `FadeTransitionFactory` if you want your slides to fade out and in\n  - `SlideAndZoomTransitionFactory` if you want your slides to slide ou left and then zoom in\n  - `NoTransitionFactory`  if you want your slides to brutally show up\n\n### PlayList\n\nYou want to change the order of your slides? You need your slides to have a variable duration? \nWell, that's the interface to implement to change that. \n\nTo make it easy for you, we already have a few default implementations that should cover most of \nyour needs:\n\n  - `SequentialPlayList` will play slides in order with a common default duration\n  - `RandomPlayList` will play slides in a random order with a common default duration\n\n## About Vincent \u0026 MarvinLabs\n\nI am a freelance developer located in Biarritz, France. You can \n[have a look at my website](http://vincentprat.info) to get to know me a little better. If you want \nto follow me, here are some links:\n\n* [Follow me on Twitter](http://twitter.com/vpratfr)\n* [Follow me on Google+](https://plus.google.com/+VincentPrat)\n* [Follow me on Facebook](http://www.facebook.com/vpratfr)\n\nMarvinLabs is my digital studio specialised in native mobile applications and web sites. You can \n[browse our website](http://www.marvinlabs.com) to get to know us a little better. If you want to \nget updates about our work, you can also:\n\n* [Follow us on Twitter](http://twitter.com/marvinlabs)\n* [Follow us on Google+](https://plus.google.com/+Marvinlabs)\n* [Follow us on Facebook](http://www.facebook.com/studio.marvinlabs)\n\n## Change log\n\n### 0.5.0 (2014-06-03)\n\n  - [new] making the adapters more generic so that they can easily be used with existing data\n  - [new] added a Picasso plugin (an adapter to use Picasso to load remote images)\n\n### 0.3.0 (2014-06-02)\n\n  - [new] new transition factories\n  - [new] playback control function (next, previous, pause, resume)\n  - [new] widget can be configured from XML\n  - [fix] issue #2\n\n### 0.2.0 (2014-06-01)\n\n  - [new] a RandomPlayList implementation\n  - [new] listener for slide show events\n  - [new] listener for slide click event (similar to ListView's item click listener) (Thanks \n    Arasthel)\n  - [fix] Some additional inline documentation\n  \n### 0.1.0 (2014-05-31)\n\n  - First release (beta)\n  - SlideShowView widget to play a slide show\n  - SlideTransitionFactory to customize the transitions between slides (with 2 default \n    implementations)\n  - PlayList to customize the order and duration of slides (with 1 default implementations)\n  - SlideShowAdapter to bind slide data to actual view widgets (with 2 default implementations)\n  - Demo application\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarvinlabs%2Fandroid-slideshow-widget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarvinlabs%2Fandroid-slideshow-widget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarvinlabs%2Fandroid-slideshow-widget/lists"}