imageloader有些方法封装的不是太好,比如,加载图片前有占位图,这个占位图的大小只可以在
displayimageoptions里面初始化
Bitmap sourceBitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
Bitmap bitmaptemp=Bitmap.createScaledBitmap(sourceBitmap, displayMetrics.widthPixels, re, false);
Drawable drawable=new BitmapDrawable(bitmaptemp);
options=new DisplayImageOptions.Builder().showImageOnLoading(drawable).showImageForEmptyUri(drawable).showImageOnFail(drawable).resetViewBeforeLoading(false).delayBeforeLoading(1000).cacheInMemory(true).bitmapConfig(Bitmap.Config.RGB_565).displayer(new SimpleBitmapDisplayer()).handler(new Handler()).build();
但是,当IMAGELOADER。getinstance().display这个方法调用的时候,里面的参数就很奇怪,有一个是能设置显示图片大小的ImageSize,但是没有传入options,还有一些则相反,这就让占位图与实际要展示的图片不能够保持同调
正确的方法是imageview的参数
v.setScaleType(ImageView.ScaleType.FIT_XY);
// v.setLayoutParams(new god.LayoutParams(god.LayoutParams.MATCH_PARENT,god.LayoutParams.MATCH_PARENT));
v.setLayoutParams(new god.LayoutParams(god.LayoutParams.MATCH_PARENT,displayMetrics.widthPixels/2));
第二个参数必须是一个值,尽管这个控件的外围布局实际上我已经设定为固定值,但是用match_parent实际上不会真正显示那么大,只有传递实际数值进去才有效(android的布局参数实在是有点怪)