Android(安卓)9.0 修改默认壁纸(主壁纸和wapppaper)
16lz
2021-12-04
一、修改主默认壁纸,在对应的产品目录下,替换原来的壁纸,如
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 中增加壁纸配置:
- test_wallpaper1
- test_wallpaper2
- test_wallpaper3
- test_wallpaper4
- test_wallpaper5
- test_wallpaper6
- test_wallpaper7
- test_wallpaper8
- test_wallpaper9
- test_wallpaper10
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。不然放进去会出现拉伸压缩的情况。
更多相关文章
- 赵雅智_android短信窃听及android短信源码解析
- 11.22 java,android,classLoder,插件式开发,类的热替换,android
- 让背景小图不是拉伸而是多个重复
- Android壁纸服务WallpaperManagerService
- 让背景小图不是拉伸而是多个重复
- 让背景小图不是拉伸而是多个重复
- android imageView 自适应大小
- 10.Android(安卓)ImageView ScaleType属性
- Android(安卓)The SourceSet 'instrumentTest' is not recognize