2015-07-12 1 views
1

Друзей Я проверил get drawable exactly the size of the imageView to use as a placeholderДисплей рисует точно размер 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 Image Посмотреть

Я борюсь за это от дней, пожалуйста, помогите мне

Place Holder Посмотрите, как это до загрузки изображения

enter image description here

Как только изображение будет загружено нормально, как на изображении ниже

enter image description here

Я хочу, чтобы место держатель должен заполнить точную высоту и ширину изображения, которая собирается показать

+0

«Моя проблема заключается в том, что я хочу отобразить держатель места в точном размере изображения», какой размер изображения? какова ваша проблема на самом деле? – pskink

+0

@psink Размер изображения динамический, он может быть любого размера сервера отправляет мне размер, и я вычисляю его и корректирую высоту соответственно – Naga

+0

высота чего? разместить некоторые изображения, описывающие вашу проблему, возможно? – pskink

ответ

0

Установите тип шкалы вашего ImageView к fitCenter?

+0

нет не центр – Naga

+0

Я предлагал использовать fitCenter, потому что он настраивает изображение на ImageView, увеличивая его при необходимости, сохраняя соотношение сторон. – BladeCoder

+0

Я сделал это, но все же поведение такое же – Naga