【问题标题】:How to make Wallpaper permanently fit to screen and in center?如何使壁纸永久适合屏幕和中心?
【发布时间】:2015-04-08 00:47:33
【问题描述】:

我正在尝试使壁纸适合屏幕。我在这个网站上尝试了很多解决方案,但除了this 一个之外,没有一个对我有用,但图像没有覆盖屏幕。它有点缩小,可以出现在屏幕上的任何地方,主要是在中心。下次重新启动时,图像大小会再次更改。例如,它出现在中间并且比屏幕尺寸小得多,但是当我重新启动设备时,图像尺寸超出了屏幕的范围

  • 如何使它适合屏幕?
  • 如果不能,如何让它永久显示在中心?
  • 是否也取决于图像的尺寸(宽度、高度)?

下面是我的代码:

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);

【问题讨论】:

  • 请发布您的布局 xml
  • @DavidJhons 感谢您的回复。 xml 文件有一个 ViewFlipper 和一个按钮,就是这样。我正在从可绘制文件夹中填充 ViewFlipper 中的一组图像,并通过上面提到的代码将当前图像设置为墙纸。

标签: java android wallpaper


【解决方案1】:

您正在寻找的内容类似于启动画面。

  1. 图像会缩小,因为它具有固定的宽度和高度,而且很可能它们与您设备的尺寸不匹配。每个图像都会有不同的宽度/高度比,因此尝试将图像完美地适合一个特定的屏幕并不是一个好主意,因为您可以这样做(通过修改图像尺寸),但是您不会'无法在每台设备上获得相同的结果:Devices and Displays
  2. 创建适合每个屏幕的 9-patch 图像:9-patch image introduction
  3. 是的,它取决于宽度和高度,但这些值会因屏幕尺寸和密度而异。当您设计图像时,您需要使用 dip(与密度无关的像素)并为每种屏幕密度类别创建一个图像:Design for multiple screens

也可以在这里阅读:Android splash screen image sizes to fit all devices

【讨论】:

  • 感谢您的回复。让我浏览一下您建议的所有链接并尝试一下。
猜你喜欢
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 2014-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
相关资源
最近更新 更多