Android aquery图像加载占位符和进度条

时间:2015-01-21 15:29:44

标签: android aquery

我正在尝试使用aquery进行图像加载。这是我的布局:

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

    <ProgressBar                
        android:layout_width="60dip"       
        android:layout_height="60dip"
        android:id="@+id/progress" 
        android:layout_centerInParent="true"
        />

     <ImageView
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:id="@+id/imageViewPagerImage"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:scaleType="fitCenter" />
</RelativeLayout>

我使用如下的aquery:

Bitmap placeholder;
@Override
public Object instantiateItem(ViewGroup container, int position) {
    View itemView = mLayoutInflater.inflate(R.layout.product_detail_pager_item, container, false);

    ImageView imageView = (ImageView) itemView.findViewById(R.id.imageViewPagerImage);
    placeholder = null;
    placeholder = androidQuery.getCachedImage(R.drawable.product_detail_big);
    androidQuery.id(imageView).progress(R.id.progress).image(allUrls.get(position), false, true, 0, 0, placeholder, Constants.FADE_IN);
    imageView.setOnClickListener(listener);
    container.addView(itemView);

    return itemView;
}

问题是,占位符图像会显示,直到加载图像,但不显示进度条。如果我将进度条放在我的xml布局中的imageview下面,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
     <ImageView
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:id="@+id/imageViewPagerImage"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:scaleType="fitCenter" />

     <ProgressBar                
        android:layout_width="60dip"       
        android:layout_height="60dip"
        android:id="@+id/progress" 
        android:layout_centerInParent="true" />
</RelativeLayout>

此时会显示占位符和进度条,但加载图像后进度条不会消失。我想显示占位符和进度条,但我希望进度条在加载图像后消失。任何人都可以帮我这个吗?

感谢。

1 个答案:

答案 0 :(得分:2)

我发现了问题。

似乎我必须在布局中获得对progressbar对象的引用,并使用它如下所示:

 ProgressBar progress = (ProgressBar) itemView.findViewById(R.id.progress);
androidQuery.id(imageView).progress(progress).image(allUrls.get(position), false, true, 0, 0, placeholder, Constants.FADE_IN);