android - 如何将整个图像作为墙纸显示在屏幕上

标签 android wallpaper

我正在开发一个应用程序,它从图库中挑选一张图片,然后将该图片设置为墙纸。但这里的问题是只有部分图像设置为墙纸而不是整个图像,但我想将整个图像设置为墙纸。你能告诉我怎么做吗???

这是我的代码...

public class Scaleimage extends Activity {
    /** Called when the activity is first created. */

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        String FileName;
        File file = new File("/sdcard/pictures");   
        File[] imageFiles = file.listFiles( );
        if(imageFiles.length > 0 ) {
            FileName = imageFiles[0].getName();
        final WallpaperManager wallpaperManager = WallpaperManager.getInstance(getBaseContext());   
        Bitmap myBitmap =  BitmapFactory.decodeFile("/sdcard/pictures" + "/" + FileName); 

        DisplayMetrics displayMetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
        int height = displayMetrics.heightPixels;
        int width = displayMetrics.widthPixels << 1;
        myBitmap = Bitmap.createScaledBitmap(myBitmap,width, height, true);
        try {
            wallpaperManager.setBitmap( myBitmap);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  
    }
}

最佳答案

将墙纸尺寸设置为您的图像尺寸:

WallpaperManager wm = (WallpaperManager) getSystemService(WALLPAPER_SERVICE);
wm.setBitmap(bitmap);
wm.suggestDesiredDimensions(w, h);

并记得添加权限:

<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"/>
<uses-permission android:name="android.permission.SET_WALLPAPER"/>

关于android - 如何将整个图像作为墙纸显示在屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11408179/

相关文章:

android - 如何解决android中的NetworkOnMainThreadException错误?

java - 在Android中创建 "popup"侧边菜单

android - 如何移除非消耗品并再次购买(在测试 Android 应用程序时)?

android - 获取通知 key 错误 401 gcm https ://android. googleapis.com/gcm/googlenotification

java - 如何以编程方式将图像设置为墙纸?

android - 如何在 ActionBarSherlock 中设置标题颜色?

android - 动态壁纸没有收到 ACTION_MOVE 事件?

transparency - iOS 7 - 将用户壁纸显示为 UIWindow 背景

android - 如何检测android中壁纸的方向

c# - 在桌面背景上绘制作为墙纸替换 (Windows/C#)