/
MainActivity.java
104 lines (79 loc) · 3.69 KB
/
MainActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.glide.slider.example;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
import com.bumptech.glide.request.RequestOptions;
import com.glide.slider.library.Animations.DescriptionAnimation;
import com.glide.slider.library.SliderLayout;
import com.glide.slider.library.SliderTypes.BaseSliderView;
import com.glide.slider.library.SliderTypes.TextSliderView;
import com.glide.slider.library.Tricks.ViewPagerEx;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity implements BaseSliderView.OnSliderClickListener,
ViewPagerEx.OnPageChangeListener {
private SliderLayout mDemoSlider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDemoSlider = findViewById(R.id.slider);
ArrayList<String> listUrl = new ArrayList<>();
ArrayList<String> listName = new ArrayList<>();
listUrl.add("https://www.revive-adserver.com/media/GitHub.jpg");
listName.add("JPG - Github");
listUrl.add("https://tctechcrunch2011.files.wordpress.com/2017/02/android-studio-logo.png");
listName.add("PNG - Android Studio");
listUrl.add("http://static.tumblr.com/7650edd3fb8f7f2287d79a67b5fec211/3mg2skq/3bdn278j2/tumblr_static_idk_what.gif");
listName.add("GIF - Disney");
listUrl.add("http://www.gstatic.com/webp/gallery/1.webp");
listName.add("WEBP - Mountain");
RequestOptions requestOptions = new RequestOptions();
requestOptions.centerCrop();
//.diskCacheStrategy(DiskCacheStrategy.NONE)
//.placeholder(R.drawable.placeholder)
//.error(R.drawable.placeholder);
for (int i = 0; i < listUrl.size(); i++) {
TextSliderView sliderView = new TextSliderView(this);
// if you want show image only / without description text use DefaultSliderView instead
// initialize SliderLayout
sliderView
.image(listUrl.get(i))
.description(listName.get(i))
.setRequestOption(requestOptions)
.setBackgroundColor(Color.WHITE)
.setProgressBarVisible(true)
.setOnSliderClickListener(this);
//add your extra information
sliderView.bundle(new Bundle());
sliderView.getBundle().putString("extra", listName.get(i));
mDemoSlider.addSlider(sliderView);
}
// set Slider Transition Animation
// mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Default);
mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Accordion);
mDemoSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
mDemoSlider.setCustomAnimation(new DescriptionAnimation());
mDemoSlider.setDuration(4000);
mDemoSlider.addOnPageChangeListener(this);
}
@Override
protected void onStop() {
// To prevent a memory leak on rotation, make sure to call stopAutoCycle() on the slider before activity or fragment is destroyed
mDemoSlider.stopAutoCycle();
super.onStop();
}
@Override
public void onSliderClick(BaseSliderView slider) {
Toast.makeText(this, slider.getBundle().get("extra") + "", Toast.LENGTH_SHORT).show();
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
}