繁体   English   中英

在Android Studio中通过网址制作图片滑块

[英]Make image slider from url in android studio

我是android的初学者,我有图像滑块,但是源项目中有图像,如何从url获取图像并在图像滑块中显示。

这是我的适配器:

public class adapter_image_slider extends PagerAdapter {

Context mContext;

public adapter_image_slider(Context context) {
    this.mContext = context;
}

@Override
public int getCount() {
    return sliderImagesId.length;
}

private int[] sliderImagesId = new int[]{
        R.drawable.imghome1, R.drawable.imghome2, R.drawable.imghome3,
};

@Override
public boolean isViewFromObject(View v, Object obj) {
    return v == ((ImageView) obj);
}

@Override
public Object instantiateItem(ViewGroup container, int i) {
    ImageView mImageView = new ImageView(mContext);
    mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    mImageView.setImageResource(sliderImagesId[i]);
    ((ViewPager) container).addView(mImageView, 0);
    return mImageView;
}

@Override
public void destroyItem(ViewGroup container, int i, Object obj) {
    ((ViewPager) container).removeView((ImageView) obj);
}

}

这是我的main_activity

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_image_slider);

    ViewPager mViewPager = (ViewPager) findViewById(R.id.viewPageAndroid);
    adapter_image_slider adapterView = new adapter_image_slider(this);
    mViewPager.setAdapter(adapterView);
}

有人请帮忙...

您可以使用Glide或Picasso。
https://github.com/bumptech/glide
Glide是适用于Android的快速有效的开源媒体管理和图像加载框架,它将媒体解码,内存和磁盘缓存以及资源池包装到一个简单易用的界面中。
https://github.com/square/picasso
毕加索:一个功能强大的图像下载和缓存库,适用于Android

您可以使用ArrayList ids创建构造函数。

public class ImagePagerAdapter extends PagerAdapter{

ArrayList<Integer> imageIds;

public ImagePagerAdapter(ArrayList<Integer> imageIds) {
    this.imageIds = imageIds;
}

并发送ID并使用它。

ArrayList<Integer> imageIds = new ArrayList<Integer>();

    for(int i = 1 ; i < 15 ; i++) {
        int id = getApplicationContext.getResources().getIdentifier("image" + i,"drawable" ,getApplicationContext.getPackageName() );
        imageIds.add(id);
    }

但是它不使用URL。 只是从存储中读取

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM