如何设置主题的背景图像比例类型?

时间:2016-03-05 19:28:57

标签: android background-image scaletype

我正在使用potrait照片作为我的应用程序的背景图片。但是当方向改变时,背景图像会拉伸并且难看。我不希望图像适合XY ..而不是那个,我希望它是centerCropped ..记住,它不是任何线性布局的背景图像。它的应用背景(主题)。

我认为这是可能的,我已经看到联系+在他们的应用程序中执行此操作..但我不知道他们是如何做到的。有人可以帮帮我吗?

注意:我已经使用了和重力,但它没有帮助..图像仍然适合XY。没有被裁剪以保持其纵横比也填充窗口。

1 个答案:

答案 0 :(得分:0)

您的应用的背景图片是否在布局xml中由android:background="..."设置, 或通过调用setBackgroundResource()以编程方式? 如果是,则设置View的背景资源。

View的背景总是延伸以填满所有View 宽度和高度,在布局尺寸更改时丢失其纵横比 例如当设备方向移动或 当应用程序在设备中运行时 与其他屏幕宽高比。无法配置此功能 否则就会发生。

解决方法:

  • 将您的背景转换为Nine-Patch文件,以便 拉伸是 仅应用于图像的选定区域。这可能适合也可能不适合 设计您的应用程序。
  • 让您的应用程序检测布局中的更改。当它发生时, 在运行中构建新的背景图像,保持原始图像的纵横比,并将View的背景设置为新图像。 我发布了 关于如何keep aspect ratio of View background image的说明 使用这种技术;希望它可以作为一个起点。