Slider with bullet in android.

Add Dependency in gradle:


implementation 'com.github.smarteist:autoimageslider:1.3.2-appcompat'
implementation 'com.github.bumptech.glide:glide:4.10.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'




Add in Xml


<androidx.cardview.widget.CardView 
    xmlns:android="http://schemas.android.com/apk/res/android"   
 xmlns:app="http://schemas.android.com/apk/res-auto"   
 android:layout_width="fill_parent"    
android:layout_height="wrap_content"  
  android:orientation="horizontal"  
  app:cardCornerRadius="3dp"
    app:cardUseCompatPadding="true"    >
    <com.smarteist.autoimageslider.SliderView     
   android:id="@+id/imageSlider"      
  android:layout_width="match_parent"   
     android:layout_height="220dp"     
   app:sliderAnimationDuration="600"   
     app:sliderAutoCycleDirection="back_and_forth"   
     app:sliderAutoCycleEnabled="true"     
   app:sliderCircularHandlerEnabled="true"   
     app:sliderIndicatorAnimationDuration="600" 
       app:sliderIndicatorGravity="center_horizontal|bottom"    
    app:sliderIndicatorMargin="15dp"    
    app:sliderIndicatorOrientation="horizontal"     
   app:sliderIndicatorPadding="3dp"     
   app:sliderIndicatorRadius="2dp"      
  app:sliderIndicatorSelectedColor="#5A5A5A"   
     app:sliderIndicatorUnselectedColor="#FFF"    
    app:sliderScrollTimeInSec="1"       
 app:sliderStartAutoCycle="true" />
</androidx.cardview.widget.CardView>





Add in activity.


SliderView sliderView = findViewById(R.id.imageSlider);

SliderAdapterExample adapter = new SliderAdapterExample(this);

sliderView.setSliderAdapter(adapter);

sliderView.setIndicatorAnimation(IndicatorAnimations.WORM); 
sliderView.setSliderTransformAnimation(SliderAnimations.SIMPLETRANSFORMATION);
sliderView.setAutoCycleDirection(SliderView.AUTO_CYCLE_DIRECTION_BACK_AND_FORTH);
sliderView.setIndicatorSelectedColor(Color.WHITE);
sliderView.setIndicatorUnselectedColor(Color.GRAY);
sliderView.setScrollTimeInSec(4); //set scroll delay in seconds :sliderView.startAutoCycle();



Adapter :
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.smarteist.autoimageslider.SliderViewAdapter;

public class SliderAdapterExample extends SliderViewAdapter<SliderAdapterExample.SliderAdapterVH> {

    private Context context;

    public SliderAdapterExample(Context context) {
        this.context = context;
    }

    @Override    public SliderAdapterVH onCreateViewHolder(ViewGroup parent) {
        View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.image_slider_layout_item, null);
        return new SliderAdapterVH(inflate);
    }

    @Override    public void onBindViewHolder(SliderAdapterVH viewHolder, int position) {
        viewHolder.textViewDescription.setText("");

        switch (position) {
            case 0:
                Glide.with(viewHolder.itemView)
                        .load("https://images.pexels.com/photos/218983/pexels-photo-218983.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260")
                        .into(viewHolder.imageViewBackground);
                break;
            case 1:
                Glide.with(viewHolder.itemView)
                        .load("https://images.pexels.com/photos/747964/pexels-photo-747964.jpeg?auto=compress&cs=tinysrgb&h=750&w=1260")
                        .into(viewHolder.imageViewBackground);
                break;
            case 2:
                Glide.with(viewHolder.itemView)
                        .load("https://images.pexels.com/photos/929778/pexels-photo-929778.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260")
                        .into(viewHolder.imageViewBackground);
                break;
            default:
                Glide.with(viewHolder.itemView)
                        .load("https://images.pexels.com/photos/218983/pexels-photo-218983.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260")
                        .into(viewHolder.imageViewBackground);
                break;

        }

    }

    @Override    public int getCount() {
        //slider view count could be dynamic size        return 4;
    }

    class SliderAdapterVH extends SliderViewAdapter.ViewHolder {

        View itemView;
        ImageView imageViewBackground;
        TextView textViewDescription;

        public SliderAdapterVH(View itemView) {
            super(itemView);
            imageViewBackground = itemView.findViewById(R.id.iv_auto_image_slider);
            textViewDescription = itemView.findViewById(R.id.tv_auto_image_slider);
            this.itemView = itemView;
        }
    }
}

Popular posts from this blog

Simple Sign up design. Android.

Cart page design in android.

Set Date on jDateChooser and retrieve record from database.