Android 9.0 修改默认壁纸(主壁纸和wapppaper)

一、修改主默认壁纸,在对应的产品目录下,替换原来的壁纸,如

android/device/qcom/{vendor}/overlay-go/frameworks/base/core/res/res/drawable-xhdpi/default_wallpaper.jpg

 二、替换wallpaper中的默认壁纸,为一个独立的应用,WallpaperPicker

    1、在android/packages/apps/WallpaperPicker/res/values-nodpi/wallpapers.xml 中增加壁纸配置:

<resources>
    <string-array name="wallpapers" translatable="false">
		<item>test_wallpaper1</item>
		<item>test_wallpaper2</item>
		<item>test_wallpaper3</item>
		<item>test_wallpaper4</item>
		<item>test_wallpaper5</item>
		<item>test_wallpaper6</item>
		<item>test_wallpaper7</item>
		<item>test_wallpaper8</item>
		<item>test_wallpaper9</item>
		<item>test_wallpaper10</item>
    </string-array>
</resources>

    2、在 res目录下加入自己的壁纸,如:android/packages/apps/WallpaperPicker/res/drawable-nodpi/

壁纸替换基本已完成,但是很有可能没有达到理想的效果,比如壁纸拉升了,可以修改如下配置:

android/packages/apps/WallpaperPicker/src/com/android/wallpaperpicker/WallpaperUtils.java

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
    public static Point getDefaultWallpaperSize(Resources res, WindowManager windowManager) {
        if (sDefaultWallpaperSize == null) {
            Point realSize = new Point();
            windowManager.getDefaultDisplay().getRealSize(realSize);
            int maxDim = Math.max(realSize.x, realSize.y);
            int minDim = Math.min(realSize.x, realSize.y);

            // We need to ensure that there is enough extra space in the wallpaper
            // for the intended parallax effects
            final int defaultWidth, defaultHeight;
            if (res.getConfiguration().smallestScreenWidthDp >= 720) {
                defaultWidth = (int) (maxDim * wallpaperTravelToScreenWidthRatio(maxDim, minDim));
                defaultHeight = maxDim;
            } else {
                defaultWidth = Math.max((int) (minDim * WALLPAPER_SCREENS_SPAN), maxDim);
                defaultHeight = maxDim;
            }
            sDefaultWallpaperSize = new Point(defaultWidth, defaultHeight);

            sDefaultWallpaperSize =realSize ;// hpe add 
        }

        return sDefaultWallpaperSize;
    }

通过这样修改就到达壁纸不被拉伸的目的。

还有一个需要注意的地方就是,壁纸必须与手机屏幕的分辨率大小一致,比如手机的分辨率是480*960,壁纸的像素必须是480*960。不然放进去会出现拉伸压缩的情况。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值