2012-05-20 3 views
0

В настоящее время я использую следующий фрагмент кода для установки фона обоев. Моя проблема заключается в том, что полное изображение не отображается на обоях. Он всегда обрезается и пропускает объекты снизу и боковые виды обоев. Я попытался обрезать фотографию, изменить размер изображения, и я также попытался изменить разрешение в соответствии с разрешением моего эмулятора. Ничего из этого не происходит. Кто-нибудь из вас знает, как отобразить полное изображение, используя код ниже:Android Wallpaper Background

Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.testimg2); 
try { 
     wpm.setBitmap(background); 
}catch(...){ 
.... 
} 

Обновленный код (который до сих пор обрезает изображение):

int width = display.getWidth(); 
int height = display.getHeight(); 
Log.v("WALLPAPER", "width and height are " + width + " " + height); 
Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.testimg2); 
Bitmap scaled = Bitmap.createScaledBitmap(background, width, height, true); 
+0

[Сообщение стар, но все равно ... Вы можете попробовать что-то похожее на это] (http://stackoverflow.com/a/41347058/1685165) – Darko

ответ

2

Проблема, вероятно, разрешение БУ обои желания , Это, вероятно, вдвое больше ширины экрана, и он изменяет размер обоев, чтобы он соответствовал желаемым параметрам. Попробуйте это, чтобы выяснить, что желаемое разрешение обои, используя

int minH, minW; 
WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext()); 
minH = myWallpaperManager.getDesiredMinimumHeight(); 
minW = myWallpaperManager.getDesiredMinimumWidth(); 
Log.d("TAG", "The desired wallpaper height is: " + minH + "; and the desired width is:" + minW); 

После этого сделать Bitmap.createScaledBitmap с Мином и minW. И помните, чтобы положить это при создании растрового изображения:

BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inScaled = false; 

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

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