An change/sort view for editing profile, slider, product slider etc.

Download

Step 1. Add the JitPack repository to your build file

allprojects {
    repositories {
     ...
     maven { url 'https://jitpack.io' }
 }
}

Step 2. Add the dependency

dependencies {
         implementation 'com.github.abalta:swappy-image-view:1.0.0'
 }

Usage

Add swappy image view to your layout xml

    <com.abdullahbalta.swappy.SwappyImageView
            :id="@+id/swappy_view"
            android:layout_width="match_parent"
            android:layout_height="240dp"/>

Add image from gallery/camera

Implement OnSwappyListener to your activity/fragment

    override fun onAddingImage(imageView: ImageView) {
        //Trigger gallery/camera intent code
    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
     ...
            swappy.addImage('drawable' or 'bitmap')
        }
    }

Add image from url

Implement OnSwappyListener to your activity/fragment, to handle placeholder you need to call setImageAddedFailed() or setImageAddedSuccess()

    override fun onAddingImage(imageView: ImageView) {
     //Use any image loading library
        Glide.with(this).load(edtUrl.text.toString()).listener(object: RequestListener<Drawable> {
            override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean): Boolean {
                swappy.setImageAddedFailed()
                return false
            }

            override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
                swappy.setImageAddedSuccess()
                return false
            }

        }).into(imageView)
    }

Features

       /**
         * app:add_icon -> customize add icon (vector supported)
         * app:remove_icon -> customize remove icon (vector supported)
         * app:placeholder -> customize empty imageview background (solid color supported)
         * app:item_padding -> padding imageviews
         * app:main_image -> pre-defined main image (vector supported)
         * app:first_image -> pre-defined first image (vector supported)
         * app:second_image -> pre-defined second image (vector supported)
         * app:third_image -> pre-defined third image (vector supported)
         */

Influence

Tinder

This project influenced by Tinder’s good looking profile image edit/sort view

Thanks to

Sample app uses following libraries demonstrates demo app, you may use different way to show swappy image view

License

Copyright  Abdullah Balta

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.



Source link
thanks you RSS link
( https://android-arsenal.com/details/1/7088)

LEAVE A REPLY

Please enter your comment!
Please enter your name here