如何在com.glide.slider.library.SliderLayout中从本地可绘制文件加载图像?



in 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>

结果它工作正常。在滑块布局中显示来自 URL 的图像。 好。

但是我想从本地可绘制文件加载图像。我该怎么做?

实现起来非常简单:

取一个整数的数组列表:

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);
}

最新更新