我有一个活动,其中有两个按钮和一个 ImageView。一个按钮是从手机的相机应用程序中获取图像并将其设置为 ImageView,另一个按钮是将该图像设置为主屏幕壁纸,所以我想要代码如何将此图像从 ImageView 设置为壁纸? ???
问问题
10116 次
3 回答
14
第 1 步:获取附加到 ImageView 的图像。
Setp 2:将该图像设置为墙纸。
第 3 步:AndroidManifest.xml
在设置壁纸中添加权限!
对于第 1 步,请检查此答案!
imageView.buildDrawingCache();
Bitmap bmap = imageView.getDrawingCache();
对于第 2 步:
WallpaperManager m=WallpaperManager.getInstance(this);
try {
m.setBitmap(bmap);
} catch (IOException e) {
e.printStackTrace();
}
对于第 3 步:也包括此权限。
<uses-permission android:name="android.permission.SET_WALLPAPER" />
告诉我这是否不适合你!
于 2013-03-15T03:48:50.617 回答
5
这可以分两部分来回答。
第一个是设置WallPaper
:
WallpaperManager wallManager = WallpaperManager.getInstance(getApplicationContext());
try {
wallManager.setBitmap(bmpImg);
Toast.makeText(MainActivity.this, "Wallpaper Set Successfully!!", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText(MainActivity.this, "Setting WallPaper Failed!!", Toast.LENGTH_SHORT).show();
}
第二部分是可选的,只有在你没有为你的ImageView
. 在这种情况下,您需要在设置之前执行此步骤WallPaper
:
Bitmap bmpImg = ((BitmapDrawable)yourImageView.getDrawable()).getBitmap();
于 2013-03-15T03:42:54.103 回答
0
设置壁纸:
Bitmap bitmapImg = ((BitmapDrawable) YourImageView.getDrawable()).getBitmap();
WallpaperManager wallManager = WallpaperManager.getInstance(getApplicationContext());
try {
wallManager.clear();
wallManager.setBitmap(bitmapImg);
} catch (IOException ex) {
}
您必须在清单文件中添加两个权限
1. <uses-permission android:name="android.permission.SET_WALLPAPER" />
2. <uses-permission android:name="android.permission.WRITE_SETTINGS" />
于 2015-12-22T13:27:02.413 回答