Android 圆形进度条作为滑动占位符

Android 圆形进度条作为滑动占位符,android,xml,progress-bar,android-imageview,android-glide,Android,Xml,Progress Bar,Android Imageview,Android Glide,我用glide显示服务器上的图像。 我想显示一个圆形进度条作为占位符。我试过这个方法,但不起作用。 我错过了什么 我正在展示活动中的回收视图。当用户单击onItem时,图像将在包含Viewpager的片段中打开。我正在使用glide在viewpager中加载图像。 适配器类- public class MyViewPagerAdapter extends PagerAdapter { private ArrayList<Object> imagesList = new ArrayLi

我用glide显示服务器上的图像。 我想显示一个圆形进度条作为占位符。我试过这个方法,但不起作用。 我错过了什么

我正在展示活动中的回收视图。当用户单击onItem时,图像将在包含Viewpager的片段中打开。我正在使用glide在viewpager中加载图像。

适配器类-

public class MyViewPagerAdapter extends PagerAdapter {
private ArrayList<Object> imagesList = new ArrayList<>();
public MyViewPagerAdapter(ArrayList<Object> images) {
    this.imagesList = images;
}

@NonNull
@SuppressLint("ClickableViewAccessibility")
@Override
public Object instantiateItem(@NonNull final ViewGroup container, int position) {
    Object recyclerViewItem = imagesList.get(position);
    final View view = LayoutInflater.from(container.getContext()).inflate(R.layout.util_image_fullscreen_preview, container, false);
    final TouchImageView imageViewPreview = view.findViewById(R.id.image_preview);
   CircularProgressDrawable circularProgressDrawable = 
                new CircularProgressDrawable(container.getContext());
circularProgressDrawable.start();

        Photos image = (Photos) imagesList.get(position);
        GlideApp
            .with(container.getContext())
            .asBitmap()
            .load(advertiser.getUrl())
            .placeholder(circularProgressDrawable)
            .fitCenter().diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(imageViewPreview);


    container.addView(view);
    return view;

}

@Override
public int getCount() {
    return imagesList.size();

}


@Override
public boolean isViewFromObject(View view, Object obj) {
    return view.equals(obj);
}


@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    container.removeView((View) object);
}
公共类MyViewPagerAdapter扩展了PagerAdapter{
私有ArrayList imagesList=新ArrayList();
公共MyViewPagerAdapter(ArrayList图像){
this.imagesList=图像;
}
@非空
@SuppressLint(“ClickableViewAccessibility”)
@凌驾
公共对象实例化项(@NonNull final ViewGroup container,int position){
Object RecycleServiceItem=imagesList.get(位置);
最终视图=LayoutInflater.from(container.getContext()).flate(R.layout.util\u image\u fullscreen\u预览,container,false);
最终触摸ImageView imageViewPreview=view.findViewById(R.id.image\u预览);
循环可压缩可压缩可压缩循环可压缩可压缩=
新的CircularProgressDrawable(container.getContext());
circularProgressDrawable.start();
照片图像=(照片)图像列表。获取(位置);
GlideApp
.with(container.getContext())
.asBitmap()
.load(广告客户.getUrl())
.占位符(可循环压缩绘图)
.fitCenter().diskCacheStrategy(diskCacheStrategy.ALL)
.进入(imageViewPreview);
container.addView(视图);
返回视图;
}
@凌驾
public int getCount(){
返回imagesList.size();
}
@凌驾
公共布尔值isViewFromObject(视图,对象obj){
返回视图.equals(obj);
}
@凌驾
公共项(视图组容器、int位置、对象){
container.removeView((视图)对象);
}
}试着用这种方法

在layout.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<ProgressBar
    android:id="@+id/progrss"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" />

</RelativeLayout>

现在在加载图像的地方

prgress = (ProgressBar)findViewById(R.id.progress);
progress.setVisibility(View.VISIBLE);
Glide.with(mContext)
            .load(imageUrl)
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(new SimpleTarget<GlideDrawable>() {
                @Override
                public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {

                    progress.setVisibility(View.GONE);    
                    imageViewPriview.setImageDrawable(resource);
                }

                @Override
                public void onLoadFailed(Exception e, Drawable errorDrawable) {
                     progress.setVisibility(View.GONE);
                }
            });
prgress=(ProgressBar)findviewbyd(R.id.progress);
progress.setVisibility(View.VISIBLE);
使用(mContext)滑动
.load(图像URL)
.diskCacheStrategy(diskCacheStrategy.ALL)
.into(新的SimpleTarget(){
@凌驾
public void onResourceReady(GlideDrawable资源,GlideAnimation试试这个方法

在layout.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<ProgressBar
    android:id="@+id/progrss"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" />

</RelativeLayout>

现在在加载图像的地方

prgress = (ProgressBar)findViewById(R.id.progress);
progress.setVisibility(View.VISIBLE);
Glide.with(mContext)
            .load(imageUrl)
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(new SimpleTarget<GlideDrawable>() {
                @Override
                public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {

                    progress.setVisibility(View.GONE);    
                    imageViewPriview.setImageDrawable(resource);
                }

                @Override
                public void onLoadFailed(Exception e, Drawable errorDrawable) {
                     progress.setVisibility(View.GONE);
                }
            });
prgress=(ProgressBar)findviewbyd(R.id.progress);
progress.setVisibility(View.VISIBLE);
使用(mContext)滑动
.load(图像URL)
.diskCacheStrategy(diskCacheStrategy.ALL)
.into(新的SimpleTarget(){
@凌驾
public void onResourceReady(GlideDrawable资源,GlideAnimation尝试此解决方案

xml
文件中添加进度条

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ProgressBar
        android:id="@+id/progress"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:visibility="visible" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="100dp" />

</RelativeLayout>
然后

final ProgressBar ProgressBar=(ProgressBar)
findViewById(R.id.progress);
progressBar.setVisibility(View.VISIBLE);
Glide.with(contexthere).load(advertiser.getUrl())
.diskCacheStrategy(diskCacheStrategy.ALL)
.into(新的SimpleTarget(){
@凌驾
public void onResourceReady(GlideDrawable GlideDrawable,GlideAnimation尝试此解决方案

xml
文件中添加进度条

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ProgressBar
        android:id="@+id/progress"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:visibility="visible" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="100dp" />

</RelativeLayout>
然后

final ProgressBar ProgressBar=(ProgressBar)
findViewById(R.id.progress);
progressBar.setVisibility(View.VISIBLE);
Glide.with(contexthere).load(advertiser.getUrl())
.diskCacheStrategy(diskCacheStrategy.ALL)
.into(新的SimpleTarget(){
@凌驾

public void onResourceReady(GlideDrawable GlideDrawable,GlideAnimation在视图页面中,您可以在实例化方法中使用以下方法。第一种方法用于加载gif图像,第二种方法用于使用进度条加载简单图像

///用于加载gif图像
RequestOptions RequestOptions=newrequestoptions();
requestOptions.diskCacheStrategy(diskCacheStrategy.ALL);
requestOptions.placeholder(R.drawable.itemes\u bg);
requestOptions.error(R.drawable.itemes\u bg);
Glide.with(context).applyDefaultRequestOptions(requestOptions).asGif().load(gifList.get(position)).listener(newrequestlistener()){
@凌驾
public boolean onload失败(@Nullable glide,对象模型,目标,boolean isFirstResource){
Toast.makeText(上下文,“无Internet连接…”,Toast.LENGTH_SHORT.show();
返回false;
}
@凌驾
public boolean onResourceReady(GifDrawable资源、对象模型、目标、数据源DataSource、boolean isFirstResource){
返回false;
}
}).插入(支架.图像视图);
////用于加载简单图像
RequestOptions RequestOptions=newrequestoptions();
requestOptions.diskCacheStrategy(diskCacheStrategy.ALL);
requestOptions.placeholder(R.drawable.progress);
Glide.with(activity).applyDefaultRequestOptions(requestOptions).load(imageList.get(position.getImgUrl().trim()).listener(newrequestlistener()){
@凌驾
public boolean onload失败(@Nullable glide,对象模型,目标,boolean isFirstResource){
progressBar.setVisibility(View.GONE);
Toast.makeText(活动“无互联网连接”,Toast.LENGTH_SHORT).show();
返回false;
}
@凌驾
公共布尔onResourceReady(可绘制资源、对象模型、目标、数据源数据源、布尔isFirstResource){
progressBar.setVisibility(Vi