Skip to content

AyoPrez/IGGY

 
 

Repository files navigation

IGGY

Based on ImageGallery by lawloretienne , it is a easy to implement library to create a gallery to host an array of images

You can add one or more images to the gallery

Support for using Palette to set the background color

Palette color types

  • VIBRANT
  • LIGHT_VIBRANT
  • DARK_VIBRANT
  • MUTED
  • LIGHT_MUTED
  • DARK_MUTED

Supports pinch-to-zoom on the images

ImageGalleryActivity FullScreenImageGallery

Setup

Gradle

compile 'com.ayoprez:iggy:0.1.0'

Maven

<dependency>
    <groupId>com.ayoprez</groupId>
    <artifactId>iggy</artifactId>
    <version>0.1.0</version>
</dependency>

Sample Usage

You can choose to show or not the Download and Share button. Just add to the bundle your desire. By default the option is false.

Intent intent = new Intent(MainActivity.this, ImageGalleryActivity.class);

String[] images = getResources().getStringArray(R.array.unsplash_images);
        Bundle bundle = new Bundle();
        bundle.putStringArrayList(ImageGalleryActivity.KEY_IMAGES, new ArrayList<>(Arrays.asList(images)));
        bundle.putString(ImageGalleryActivity.KEY_TITLE, "Unsplash Images");
        bundle.putBoolean(FullScreenImageGalleryActivity.KEY_DOWNLOAD_BUTTON, true);
        bundle.putBoolean(FullScreenImageGalleryActivity.KEY_SHARE_BUTTON, true);

        intent.putExtras(bundle);

startActivity(intent);

If you want to use the ImageGalleryActivity you must declare the following in your AndroidManifest.xml .

<!-- Declare this activity in your AndroidManfest.xml -->
<activity
    android:name="com.ayoprez.iggy.library.activities.ImageGalleryActivity"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:label=""
    android:theme="@style/ImageGalleryTheme" />

Alternatively, you can use the ImageGalleryFragment and host the fragment in your own Activity. In that case you can do something like this in an activity:

Fragment fragment = getSupportFragmentManager().findFragmentById(android.R.id.content);
        if (fragment == null) {
            fragment = ImageGalleryFragment.newInstance(getIntent().getExtras());
            getSupportFragmentManager()
                    .beginTransaction()
                    .replace(android.R.id.content, fragment, "")
                    .commit();
        } else {
            getSupportFragmentManager()
                    .beginTransaction()
                    .attach(fragment)
                    .commit();
        }

If you want to implement the palette to the images, you should use the PaletteHelper class:

Bitmap bitmap = ((BitmapDrawable) iv.getDrawable()).getBitmap();

PaletteHelper.applyPalette(bitmap, PaletteColorType.VIBRANT, bgLinearLayout);

Important Note

You must set up image loading by implementing these interfaces ImageGalleryAdapter.ImageThumbnailLoader and FullScreenImageGalleryAdapter.FullScreenImageLoader. See https://github.com/ayoprez/IGGY/blob/master/sample/src/main/java/com/ayoprez/iggy/activities/MainActivity.java .

Developed By

  • Ayoze Pérez

   Email - arezrod@gmail.com

   Blog - https://medium.com/@ayoprez

   Website - http://ayoprez.com

###Inspired in

ImageGallery by Etienne Lawlor

License

Copyright 2016 Ayoze Pérez

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.

About

A gallery used to host an array of images

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%