如何适应整个图像在屏幕上的壁纸 [英] how to fit the whole image on screen as wallpaper

查看:162
本文介绍了如何适应整个图像在屏幕上的壁纸的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发一个应用程序,它采用主从画廊的图像,然后设置为墙纸的图像。但这里的问题是,图像的一部分被设置为墙纸不是整个图像,但我想整个图像设置为墙纸。可以请你告诉我怎么可以做???

下面是我的code ...

 公共类Scaleimage延伸活动{
    / **第一次创建活动时调用。 * /

    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);
        字符串文件名;
        档案文件=新的文件(/ SD卡/图片);
        文件[]的图像文件= file.listFiles();
        如果(imageFiles.length大于0){
            文件名的图像文件中= [0] .getName();
        最终WallpaperManager wallpaperManager = WallpaperManager.getInstance(getBaseContext());
        位图MYBITMAP = BitmapFactory.de codeFILE(/ SD卡/图片+/+文件名);

        DisplayMetrics displayMetrics =新DisplayMetrics();
        。getWindowManager()getDefaultDisplay()getMetrics(displayMetrics)。
        INT高= displayMetrics.heightPixels;
        INT宽度= displayMetrics.widthPixels<< 1;
        MYBITMAP = Bitmap.createScaledBitmap(MYBITMAP,宽度,高度,真正的);
        尝试 {
            wallpaperManager.setBitmap(MYBITMAP);
        }赶上(例外五){
            // TODO自动生成的catch块
            e.printStackTrace();
        }
    }
}
 

解决方案

设置壁纸大小图片大小:

  WallpaperManager WM =(WallpaperManager)getSystemService(WALLPAPER_SERVICE);
wm.setBitmap(位);
wm.suggestDesiredDimensions(W,H);
 

和记得添加权限:

 <使用-权限的Andr​​oid:名称=android.permission.SET_WALLPAPER_HINTS/>
<使用-权限的Andr​​oid:名称=android.permission.SET_WALLPAPER/>
 

I am developing an app which picks an image from the gallery and then sets that image as the wallpaper. But here problem is that only part of image is set as wallpaper not the whole image, but I want to set the whole image as the wallpaper. can you please tell me how that can be done ???

Here is my code...

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();
        }  
    }
}

解决方案

Set wallpaper size to your image size:

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

and remember to add permissions:

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

这篇关于如何适应整个图像在屏幕上的壁纸的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆