android壁纸大小,Android N 固定壁纸大小不拉伸

--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java

+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java

@@ -454,7 +454,8 @@ public class ImageWallpaper extends WallpaperService {

// Center the scaled image

mScale = Math.max(1f, Math.max(dw / (float) mBackground.getWidth(),

dh / (float) mBackground.getHeight()));

- mScale = dw / (float) mBackground.getWidth();

+ //mScale = dw / (float) mBackground.getWidth();

final int availw = dw - (int) (mBackground.getWidth() * mScale);

final int availh = dh - (int) (mBackground.getHeight() * mScale);

int xPixels = availw / 2;

@@ -463,13 +464,16 @@ public class ImageWallpaper extends WallpaperService {

// Adjust the image for xOffset/yOffset values. If window manager is handling offsets,

// mXOffset and mYOffset are set to 0.5f by default and therefore xPixels and yPixels

// will remain unchanged

- final int availwUnscaled = (int)((float)dw/mScale) - mBackground.getWidth();

- final int availhUnscaled = (int)((float)dh/mScale) - mBackground.getHeight();

-

+ final int availwUnscaled = dw - mBackground.getWidth();

+ final int availhUnscaled = dh - mBackground.getHeight();

+ //End

if (availwUnscaled < 0)

- xPixels += (int) (availwUnscaled * (mXOffset - .5f) * mScale + .5f);

+ xPixels += (int) (availwUnscaled * (mXOffset - .5f) + .5f);

if (availhUnscaled < 0)

- yPixels += (int) (availhUnscaled * (mYOffset - .5f) * mScale + .5f);

+ yPixels += (int) (availhUnscaled * (mYOffset - .5f) + .5f);

mOffsetsChanged = false;

if (surfaceDimensionsChanged) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值