android 修改默认壁纸

本文详细介绍了在RK3368平台上的Android 8.1系统中设置默认壁纸的方法。重点讲解了壁纸的路径、系统壁纸信息存储位置及壁纸尺寸对显示效果的影响,并给出了正确设置壁纸的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

            默认壁纸会在启动Launch前显示,影响视觉,需要修改,在此记录

            平台:RK3368

             Android版本:8.1

方法

            默认壁纸路径:frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.png。

            在res目录下已nodpi结尾的目录都有default_wallpaper.png这样的文件,根据屏幕分辨率选择默认壁纸。

            系统中当前壁纸路径/data/system/users/0/,其中wallpaper为当前壁纸,wallpaper_info.xml为当前壁纸信息。

            系统第一次启动时没有wallpaper_info.xml信息规定大小,就会已显示屏分辨率长宽的最大值最为壁纸的长和框,举个栗子:屏幕分辨率为480*800,则生成的wallpaper_info.xml信息为800*800,若壁纸长宽皆大于800,则会取0-480和0-800的长宽作为默认壁纸,若壁纸为480*800,则左右个补全160,生成为800*800的壁纸,因此也导致壁纸产生偏移,若是长宽皆小于800,好像会设置失败,延用之前的壁纸,这里没搞太懂。

            那如何设置正确的默认壁纸,我的做法是将480*800的壁纸做成800*800的大小,前480*800为默认壁纸,后320为底色,这样就不会被裁剪或生成偏移了。

参考博客

https://blog.youkuaiyun.com/Scott_go_on_Linux/article/details/79592904

Android设置桌面壁纸及恢复默认墙纸,程序中将创建一个存储壁纸图片资源的id数组,定义被选中的图片在id数组中的索引,需要自定义一个BaseAdapter,然后:   ImageView iv = new ImageView(Sample_12_2.this);//新建一个ImageView   iv.setBackgroundResource(imgIds[position]);//设置ImageView的背景图片   iv.setScaleType(ImageView.ScaleType.CENTER_CROP);   iv.setLayoutParams(new Gallery.LayoutParams(120, 120));//设置相框中元素的大小   将设置壁纸和恢复壁纸的功能写入按钮监听事件中,通过单击按钮来激活这两个功能:   设置ImageView为当前墙纸:   Button btnGetWall = (Button)findViewById(R.id.getWall);//获得Button对象   btnGetWall.setOnClickListener(new View.OnClickListener() {//为Button添加OnClickListener监听器   @Override   public void onClick(View v) {    ImageView iv = (ImageView)findViewById(R.id.currWall);    iv.setBackgroundDrawable(getWallpaper()); //设置ImageView显示的内容为当前墙纸   }   恢复默认壁纸:   setContentView(R.layout.main);//设置当前屏幕   Button btnClearWall = (Button)findViewById(R.id.clearWall);//获得Button对象   btnClearWall.setOnClickListener(new View.OnClickListener() {//添加OnClickListener监听器   @Override   public void onClick(View v) {//重写onClick方法   try {    Sample_12_2.this.clearWallpaper();//还原手机壁纸   } catch (IOException e) {//捕获并打印异常    e.printStackTrace();   }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值