2013-12-05 4 views
0

Я использую эту библиотеку ImageLoader для своего ListView. Он по умолчанию декодирует файл в растровое изображение 70px. Но потом я изменил его на 1000, и изображение, которое я получаю, является правильным. Единственная проблема заключается в отображении изображения в ImageView.Изображение полной ширины в ListView

The ImageView в ListItem, как это:

<ImageView 
    android:id="@+id/image" 
    android:layout_width="fill_parent" 
    android:layout_height="200dp" 
    android:scaleType="centerInside" /> 

Это отображает изображение, которое находится в центре ImageView, при правильном соотношении сторон (нет растяжения и т.д ..) и имеет пустые пространства на все стороны. Пустые пространства могут быть из-за более низких размеров изображения.

Я хочу, чтобы изображение получило полную ширину экрана и поддерживало аспектный рацион. Как мне это получить?

Я пробовал:

<ImageView 
    android:id="@+id/image" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:scaleType="fitXY" /> 

Но изображение растягивается по горизонтали и полностью из сторон рациона. Похоже, что он принимает высоту, такую ​​же, как фактическая высота изображения, но ширина как fill_parent.

Спасибо

ответ

0

Сделать android:layout_width="match_parent". Установите высоту для некоторого арбитра, но допустимое значение начнется с android:layout_height="0dp". И для высоты, поскольку нет подходящего scaleType, чтобы получить соотношение сторон так, как вы хотите (я считаю, что подтвердите, что developer.android.com/reference/android/widget/...), то, что вам нужно будет сделать, это java-файл, получить ширину изображения, а затем установить высоту в соответствии с необходимым соотношением сторон (0,6 в вашем случае).

+0

Это же, как и то, что я использую сейчас. Проблема с этим заключается в том, что он не займет полную ширину. Я хочу, чтобы изображение получило полную ширину и сохраняло соотношение сторон. ** например: Если изображение равно 500x300 (ш x ч), оно должно отображаться как 400 x 240 на устройстве с шириной 400dp и 1000 x 600 на устройстве с шириной 1000dp ** – user1537779

+0

Я вижу. Затем сделайте андроид: layout_width = "match_parent". И для высоты, так как нет подходящего scaleType (я считаю - подтвердите, что http://developer.android.com/reference/android/widget/ImageView.ScaleType.html), то, что вам нужно будет сделать, это в файле java , получить ширину изображения, а затем установить высоту в соответствии с необходимым соотношением сторон (0,6 в вашем случае). –

-1

Попробуйте добавить этот

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scaleType="centerInside" 
    android:adjustViewBounds="true" 
    /> 
+0

Это занимает полную ширину и поддерживает пропорции, но изображение обрезается до центра, поэтому мне не хватает верхней и нижней частей изображения :(Я попытался заменить его «fitXY», а затем вернулся к старому растянутому horizontally :( – user1537779

+0

Можете ли вы использовать андроид: scaleType = "centerInside" и дайте мне знать, если он работает? Я сделаю соответствующее изменение. – rahulritesh

Смежные вопросы