2015-04-07 5 views
1

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

  • Как я могу сделать его пригодным к экрану?
  • Если я не могу, как я могу заставить его постоянно появляться в центре?
  • Это зависит от размеров (ширина, высота) изображения тоже?

Ниже мой код:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), 
     imageIDs[imageIDforWallPaper]); 
int w = bitmap.getWidth(); 
int h = bitmap.getHeight(); 
WallpaperManager wm = (WallpaperManager) getSystemService(WALLPAPER_SERVICE); 
try { 
    wm.setBitmap(bitmap); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
wm.suggestDesiredDimensions(w, h); 
+0

разместить свой макет XML пожалуйста –

+0

@DavidJhons Спасибо за ваш ответ. Файл xml имеет ViewFlipper и кнопку, вот и все. Я заполняю массив изображений в ViewFlipper из выпадающей папки и устанавливаю текущее изображение в качестве обоев через код, упомянутый выше. – Heidi

ответ

2

Что вы ищете похоже на заставку.

  1. Изображение сжимается, поскольку оно имеет фиксированную ширину и высоту и, скорее всего, они не соответствуют размерам вашего устройства. Каждое изображение будет иметь разное соотношение ширины и высоты, поэтому неплохо было бы попытаться идеально подогнать изображение на один конкретный экран, так как вы можете это сделать (путем изменения размеров изображения), но тогда вы бы «т иметь возможность получить тот же результат на каждом устройстве: Devices and Displays
  2. Создание 9-патч изображение, которое адаптируется к каждому экрану: 9-patch image introduction
  3. Да это зависит от ширины и высоты, но эти значения варьируются в зависимости от размера экрана и плотность. При создании изображения вам нужно использовать купание (не зависящая от плотности пикселей) и создать одно изображения для каждой категории плотности экрана: Design for multiple screens

читайте также здесь: Android splash screen image sizes to fit all devices

+0

Спасибо за ваш ответ. Позвольте мне просмотреть все ссылки, которые вы предложили, и попробовать их. – Heidi

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

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