2013-04-13 3 views
2

Я пытаюсь установить фоновое изображение в приложении для Android. У меня есть изображение в формате JPEG, и я хочу заполнить экран высотой изображения, сохраняя одинаковое соотношение сторон.Set Activity background without stretching

Я пытался путем создания файла XML растровый в вытяжке и установить его как:

android:background="@drawable/background_image" 

Это XML

<?xml version="1.0" encoding="utf-8"?> 
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/wallpaper1_1920x1200" 
    android:tileMode="disabled" 
    android:gravity="center" > 
</bitmap> 

С «центр» теге не растягивать изображение и он не изменяет его размер.

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

+0

Вы можете разместить изображение в папке с возможностью рисования/nodpi, чтобы оно не растягивалось. – Pragnani

ответ

0

Вы можете обернуть ваше растровое изображение с помощью шкалы Drawable (http://developer.android.com/guide/topics/resources/drawable-resource.html#Scale)
И затем используйте этот чертеж в качестве фона для вашего макета.

<?xml version="1.0" encoding="utf-8"?> 
<scale xmlns:android="http://schemas.android.com/apk/res/android" 
    android:drawable="@drawable/wallpaper1_1920x1200" 
    android:scaleGravity="clip_horizontal" 
    android:scaleHeight="100%" 
    android:scaleWidth="100%" /> 
+0

Это не работает. Это дает мне ошибку, а фон - белый. – Nerd

0

Одним из решений может быть, чтобы превратить его в 9 патча PNG файла, что позволяет определить, где он может и не может растягиваться. См. http://developer.android.com/guide/topics/graphics/2d-graphics.html, раздел около конца на 9 изображений патча.

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

  • Нет связанных вопросов^_^