我想让自定义的图片取代系统默认的壁纸,这样我就可以设置我自己的壁纸了,摸索了下,应该在以下位置设置:
1. setContentView(R.layout.wallpaper_2);
2. final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
3. final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
4. final ImageView imageView = (ImageView) findViewById(R.id.imageview);
5. [backcolor=#ffffff] [color=#9bbb59]/*自定义壁纸mypaperwall*/[/color][/backcolor]
6. final Drawable mypaperwall= getResources().getDrawable(R.drawable.gallery_photo_10);
7. imageView.setDrawingCacheEnabled(true);
8. [color=#9bbb59] /*获得自定义壁纸*/[/color]
9.
10. imageView.setImageDrawable(mypaperwall);
11.
12.
13. Button randomize = (Button) findViewById(R.id.randomize);
14. randomize.setOnClickListener(new OnClickListener() {
15. public void onClick(View view) {
16. int mColor = (int) Math.floor(Math.random() * mColors.length);
17. [color=#9bbb59]/*给自定义壁纸加颜色过滤*/[/color]
18.
19. mypaperwall.setColorFilter(mColors[mColor], PorterDuff.Mode.MULTIPLY);
20. [color=#9bbb59]/*重新获取自定义壁纸*/[/color]
21.
22. imageView.setImageDrawable(mypaperwall);
23. imageView.invalidate();
24. }
25. });
可是,重新运行,系统仍旧获取的是默认壁纸,请高手赐教下,具体example是2.2自带的ApiDemos里面的 com.example.android.apis.app下面的WallpaperActivity.java!
请高手不吝赐教下,多谢了~~~
附件2.2M,传不上来,没办法!
以下是源码(自己未重写):
1. final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
2. final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
3. final ImageView imageView = (ImageView) findViewById(R.id.imageview);
4. imageView.setDrawingCacheEnabled(true);
5. imageView.setImageDrawable(wallpaperDrawable);
6.
7. Button randomize = (Button) findViewById(R.id.randomize);
8. randomize.setOnClickListener(new OnClickListener() {
9. public void onClick(View view) {
10. int mColor = (int) Math.floor(Math.random() * mColors.length);
11. wallpaperDrawable.setColorFilter(mColors[mColor], PorterDuff.Mode.MULTIPLY);
12. imageView.setImageDrawable(wallpaperDrawable);
13. imageView.invalidate();
14. }
15. });
又没有人回答,算了,自己结贴吧:
结贴:
昨天晚上回去看了下该问题,其实不是自己设置的方法没有起作用,而是模拟器里面一直安装的是原来的.apk文件,自己重写方法之后重新生成的.apk文件并没有被install,用adb uninstall com.adorid.XXX.apis后,重新运行可以通过,另外自己重新定义了一个类,专门自定义壁纸,在用example里面的setWallPaperActivity.java运行set WallPaper之前先运行一个自定义壁纸的方法,这样在setWallPaperActivity.java运行之前我已经设置好了自己的壁纸,这样就可以random 壁纸风格了,回头看看,主要是控制台红色的提醒没有仔细看,贴上来,见图:
图片:android_uninstall_apk.png[删除]
再次谢过深圳-珠珠的耐心解答