在app / build.gradle中:
implementation "com.github.firdausmaulan:GlideSlider:1.4.1"
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
在我的活动中:
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;
private void initSlider() {
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();
for (int i = 0; i < listUrl.size(); i++) {
TextSliderView sliderView = new TextSliderView(getContext());
// 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)
.setProgressBarVisible(true)
.setOnSliderClickListener(this);
//add your extra information
sliderView.bundle(new Bundle());
sliderView.getBundle().putString("extra", listName.get(i));
sliderLayout.addSlider(sliderView);
}
和xml布局:
<com.glide.slider.library.SliderLayout
android:id="@+id/sliderLayout"
android:layout_width="match_parent"
android:layout_height="48dp" />
</LinearLayout>
因此工作正常。在SliderLayout中显示来自URL的图像。 很好。
但是我想从本地可绘制文件中加载图像。我该怎么做?
答案 0 :(得分:3)
实现起来非常简单:
获取一个整数数组列表:
private void initSlider() {
ArrayList<Integer> drawablelist = new ArrayList<>();
drawablelist.add(R.drawable.mydrawable1);
drawablelist.add(R.drawable.drawable2);
RequestOptions requestOptions = new RequestOptions();
requestOptions.centerCrop();
for (int i = 0; i < listUrl.size(); i++) {
TextSliderView sliderView = new TextSliderView(getContext());
// if you want show image only / without description text use DefaultSliderView instead
// initialize SliderLayout
sliderView
.image(drawablelist.get(i))
.description(listName.get(i))
.setRequestOption(requestOptions)
.setProgressBarVisible(true)
.setOnSliderClickListener(this);
//add your extra information
sliderView.bundle(new Bundle());
sliderView.getBundle().putString("extra", listName.get(i));
sliderLayout.addSlider(sliderView);
}