如何把默认壁纸改为动态壁纸

在frameworks/base/core/res/res/values目录找到Config.xml文件,最后一行有定义:

 

<string name="default_wallpaper_component">null</string>  

 

将其修改为对应的live wallpaper的启动component即可,如要把默认壁纸设置为2.1自带的galaxy,这样写即可:

 

<string name="default_wallpaper_component">com.android.wallpaper/com.android.wallpaper.galaxy.GalaxyWallpaper</string>

 

需要注意的是:静态的图片壁纸和live wallpaper是两个系统,加载的时候是完全两套机制,静态图片通过launcher里面的一个xml文件配置来管理系统默认静态壁纸,live wallpaper则是通过intent机制向系统搜寻所有匹配Activity,所以,这里的默认值为null,而不是那个系统默认静态壁纸的地址,系统是读config.xml文件的设置,若为null才继续查找静态壁纸配置内容.

 

如果只需要修改默认静态壁纸,替换frameworks/base/core/res/res/drawable/default_wallpaper.jpg即可,或者在源码中修改对应default_wallpaper地址.

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();   }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值