Проблемы с шириной растрового изображения. Ширина ограничена высотой экрана - PullRequest
0 голосов
/ 01 февраля 2012

Я создаю растровое изображение, которое мне нужно использовать в качестве фона экрана шириной 320 пикселей.Проблема в том, что растровое изображение не получает желаемой ширины.Получается два пустых пространства слева и справа.Это потому, что он соответствует высоте экрана, но я не хочу этого, я хочу, чтобы растровое изображение имело желаемую ширину.Не имеет значения, если часть высоты растрового изображения находится за пределами экрана.

Мне нужно задать ширину при добавлении изображения в макет, я имею в виду, что изображение должно быть сохранено.соотношение сторон, но изображение должно быть выше, чем высота экрана, и изображение должно отображаться неполным, если высота изображения выше, чем высота экрана.Сейчас этого не происходит, потому что макет заставляет ширину уважать изображение и показывать всю высоту изображения по высоте экрана, тогда я думаю, что проблема в правилах макета

imрастровое изображение с:

View view;
Bitmap aux = Util.loadImage( filename ); //image loaded but with his original width
Bitmap image = Util.scaleBitmap(aux, 320); //scaling to 320
((ImageView)view).setImageBitmap( resource.image );

RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams( 320 , h );
rlp.addRule( RelativeLayout.CENTER_HORIZONTAL );
rlp.addRule( RelativeLayout.ALIGN_PARENT_TOP );

layout.addView( view , rlp );

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 01 февраля 2012

Так как высота вас не волнует, вы должны использовать CENTER_CROP .

Определите тип масштаба, а затем установите изображение.

CENTER_CROP - Равномерное масштабирование изображения (сохраняйте аспект изображения соотношение), так что оба размера (ширина и высота) изображения будут равно или больше соответствующего размера вида (минус дополнение).

0 голосов
/ 01 февраля 2012

Попробуйте использовать это:

((ImageView)view).setScaleType(ImageView.FitCenter);

Чтобы увидеть больше опций см. http://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType

...