Как сделать слайдер изображений из изображений ресурсов - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь сделать что-то вроде смены изображений из изображений, которые находятся в папке assets / sliderImages.

В основном, когда я отлаживаю метод, список it равен числу, если элементы в папке assets / ...

Но что-то не так, и изображения не отображаются.

Вот метод изменения изображений.

private ImageView mAuthBackGround;

public void setSlider() {
    AssetManager assetManager = getApplicationContext().getAssets();
    try {
        String[] files = assetManager.list("sliderImages");
        List<String> it = Arrays.asList(files);

        for (int i = 0; i < it.size(); i++) {
            int finalI = i;
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    Drawable drawable = Drawable.createFromPath(it.get(finalI));
                    mAuthBackGround.setImageDrawable(drawable);
                }
            }, 200 * i);

        }

    } catch (IOException e) {
        e.printStackTrace();
    }
}

Ответы [ 2 ]

1 голос
/ 12 июля 2020

Brother. Вы можете использовать git библиотеку, чтобы сделать потрясающий слайдер. У них есть все файлы, которые вам нужны. Скопируйте их и используйте в своем проекте, позвольте мне сейчас, если это вам поможет. Или любую другую помощь, которая вам нужна.

Вот ссылка на слайдер

0 голосов
/ 12 июля 2020

Готово ...

public void setSlider() {
        AssetManager assetManager = getApplicationContext().getAssets();
        try {
            String[] files = assetManager.list("sliderImages");
            List<String> it = Arrays.asList(files);

            for (int i = 0; i < it.size(); i++) {
                int finalI = i;
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        imageView.setImageBitmap(getBitmapFromAssets(it.get(finalI)));
                    }
                }, 2000 * i);

            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private Bitmap getBitmapFromAssets(String fileName) {
        AssetManager assetManager = getAssets();

        InputStream istr = null;
        try {
            istr = assetManager.open("sliderImages/" + fileName);
        } catch (IOException e) {
            e.printStackTrace();
        }
        Bitmap bitmap = BitmapFactory.decodeStream(istr);
        try {
            istr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return bitmap;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...