Как загрузить изображения из локальных нарисованных файлов в com.glide.slider.library.SliderLayout? - PullRequest
0 голосов
/ 20 сентября 2019

в 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 в SliderLayout.Хорошо.

Но я хочу загрузить изображения из локальных файлов для рисования.Как я могу это сделать?

1 Ответ

2 голосов
/ 20 сентября 2019

Это действительно просто реализовать:

Возьмите массив целых чисел:

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