Отображение точного размера imageView для использования в качестве заполнителя

Друзья, я проверил возможность рисования точный размер 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

Заполнитель выглядит так до загрузки изображения

введите здесь описание изображения

После загрузки изображения оно выглядит так, как показано ниже.

введите здесь описание изображения

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


person Naga    schedule 12.07.2015    source источник
comment
Моя проблема в том, что я хочу отобразить заполнитель точно такого же размера изображения, какой размер изображения? в чем твоя проблема на самом деле?   -  person pskink    schedule 12.07.2015
comment
@psink Размер изображения является динамическим, он может быть любого размера, сервер отправляет мне размер, и я вычисляю его и соответствующим образом корректирую высоту.   -  person Naga    schedule 12.07.2015
comment
высота чего? опубликуйте несколько изображений, описывающих вашу проблему, может быть?   -  person pskink    schedule 12.07.2015
comment
@psink Я отредактировал вопрос и добавил вариант использования, пожалуйста, посмотрите   -  person Naga    schedule 12.07.2015
comment
пробовал android:adjustViewBounds?   -  person pskink    schedule 12.07.2015
comment
Да, я пытался, я действительно застрял с этим   -  person Naga    schedule 12.07.2015
comment
Да, я использую его, позвольте мне опубликовать код просмотра изображения XM.   -  person Naga    schedule 12.07.2015
comment
поэтому опубликуйте изображение с тем, что вы получаете с android:adjustViewBounds   -  person pskink    schedule 12.07.2015
comment
@psink я добавил изображение   -  person Naga    schedule 12.07.2015
comment
поэтому сделайте Drawable, который возвращает внутреннюю ширину/высоту точно так же, как размер вашего изображения   -  person pskink    schedule 12.07.2015
comment
Я сделал это в соответствии с моим пониманием ... не могли бы вы опубликовать ответ с кодом ...   -  person Naga    schedule 12.07.2015
comment
вы также можете использовать ShapeDrawable, у которого есть методы для этого, внимательно прочитайте документы ShapeDrawable   -  person pskink    schedule 12.07.2015
comment
Хорошо, отлично, я буду читать Shapedrawable .. поэтому мы не можем добиться этого с помощью просмотра изображений.   -  person Naga    schedule 12.07.2015
comment
нет нет нет, вы должны использовать ShapteDrawable в ImageView   -  person pskink    schedule 12.07.2015
comment
Хорошо .. не могли бы вы помочь мне с этим, я действительно изучаю пользовательский интерфейс в Android .. пожалуйста   -  person Naga    schedule 12.07.2015
comment
Я имею в виду с некоторым кодом   -  person Naga    schedule 12.07.2015


Ответы (1)


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

person BladeCoder    schedule 12.07.2015
comment
Я предлагал использовать fitCenter, потому что он настраивает изображение на ImageView, увеличивая его при необходимости, сохраняя соотношение сторон. - person BladeCoder; 12.07.2015
comment
Я сделал это, но все равно поведение такое же - person Naga; 12.07.2015
comment
Я отредактировал код, я тоже пробовал, но он не работает - person Naga; 12.07.2015
comment
В чем проблема? Вы хотите растянуть изображение-заполнитель? В этом случае используйте fitXY. - person BladeCoder; 12.07.2015