Друзья, я проверил возможность рисования точный размер imageView для использования в качестве заполнителя
Но мне это не помогло
Моя проблема в том, что я хочу отобразить заполнитель точно по размеру изображения.
Размер изображения является динамическим, я получаю высоту и ширину изображения с сервера, используя это, я вычисляю скорректированную ширину и высоту.
Например, в одной строке списка я должен отображать размер изображения 400 * 300, а в другой строке я должен отображать размер изображения 700 * 500.
Теперь я хочу, чтобы заполнитель заполнил область 400 * 300 в первом случае и 700 * 500 во втором случае. Этого я не могу достичь,
Как я могу этого добиться?
mDisplayImageOptions = new DisplayImageOptions.Builder()
.resetViewBeforeLoading(true)
.imageScaleType(ImageScaleType.EXACTLY)
.showImageOnLoading(R.drawable.test_user)
.cacheInMemory(true)
.cacheOnDisk(true)
.build();
mAdjustedWidth = mWindowWidth - 10;
mAdjustedHeight = 400;
try {
int width = cursor.getInt(cursor.getColumnIndexOrThrow(TalkTable.TALK_TWIDTH));
if(width > 0) {
mAdjustedHeight = (mAdjustedWidth * cursor.getInt(cursor.getColumnIndexOrThrow(TalkTable.TALK_THEIGHT))) / width;
}
}catch (Exception ex){
ex.printStackTrace();
}
talkImageView.getLayoutParams().height = mAdjustedHeight;
talkImageView.getLayoutParams().width = mAdjustedWidth;
talkImageView.requestLayout();
mImageLoader.displayImage(talkImageThumbnil,talkImageView,mTalksDisplayImageOptions,new SimpleImageLoadingListener(){
@Override
public void onLoadingStarted(String imageUri, View view) {
// ProgressBar progressBar1 = (ProgressBar)progressBar.getTag();
//progressBar1.setVisibility(View.VISIBLE);
talkImageView.getLayoutParams().height = mAdjustedHeight;
talkImageView.getLayoutParams().width = mAdjustedWidth;
talkImageView.requestLayout();
talkImageView.setImageResource(R.drawable.image_place_holder);
Log.d(TAG, " Progress bar visisble ");
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
//ProgressBar progressBar1 = (ProgressBar)progressBar.getTag();
//progressBar1.setVisibility(View.GONE);
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
//ProgressBar progressBar1 = (ProgressBar)progressBar.getTag();
//progressBar1.setVisibility(View.GONE);
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
//ProgressBar progressBar1 = (ProgressBar)progressBar.getTag();
//progressBar1.setVisibility(View.GONE);
}
});
XML-представление изображения
I am struggling for this from days , please help me
Заполнитель выглядит так до загрузки изображения
После загрузки изображения оно выглядит так, как показано ниже.
Я хочу, чтобы заполнитель заполнил точную высоту и ширину изображения, которое должно отображаться
Drawable
, который возвращает внутреннюю ширину/высоту точно так же, как размер вашего изображения - person pskink   schedule 12.07.2015ShapeDrawable
, у которого есть методы для этого, внимательно прочитайте документыShapeDrawable
- person pskink   schedule 12.07.2015