Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从资源图像制作图像滑块_Java_Android - Fatal编程技术网

Java 如何从资源图像制作图像滑块

Java 如何从资源图像制作图像滑块,java,android,Java,Android,我正在尝试从位于assets/sliderImages文件夹中的图像制作类似于图像转换器的东西 基本上,当我调试该方法时,it列表等于assets/中项目的数量。。文件夹 但有些地方出了问题,图像没有显示出来 下面是更改图像的方法 private ImageView mAuthBackGround; public void setSlider() { AssetManager assetManager = getApplicationContext().getAssets();

我正在尝试从位于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();
    }
}
私有图像查看背景;
公共无效设置滑块(){
AssetManager AssetManager=getApplicationContext().getAssets();
试一试{
String[]files=assetManager.list(“幻灯片图像”);
List it=Arrays.asList(文件);
对于(int i=0;i
兄弟,您可以使用git库制作令人惊奇的滑块 他们有你需要的所有文件 复制它们并在项目中使用 如果对你有帮助,现在让我告诉你。或者你需要的任何其他帮助

完成

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;
    }
public void setSlider(){
AssetManager AssetManager=getApplicationContext().getAssets();
试一试{
String[]files=assetManager.list(“幻灯片图像”);
List it=Arrays.asList(文件);
对于(int i=0;i
不,我不想为此使用外部库。我不知道这个资产管理器如何工作。我得到的是,你应该尝试make Files[]类型make Int,并将图像的整数id存储在这个数组中,这可能会对你有所帮助。你可以通过“imageView.setImageResource(filles[I]”直接将这个图像id传递给imageView;