为壁纸挑选图像

时间:2010-09-04 21:47:16

标签: android image wallpaper

我正在写一个动态壁纸,需要一些帮助。我的壁纸将在用户在“设置...”中选择的另一个图像或现有壁纸(不是另一个动态壁纸)的顶部创建效果。

我的问题是:我找不到在电话上列出静态壁纸或图像的方法。我看过一些获取相机图像的例子,但不是壁纸。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果这有帮助,这里是我写的FileFilter,它将返回包含图像的文件夹列表。您只需使用表示目录的文件(我将其用于Environment.getExternalStorageDirectory())使用.listFiles(filterForImageFolders),它将返回包含图像的目录的File []。然后,您可以使用此列表填充设置中的图像列表:

FileFilter filterForImageFolders = new FileFilter()
    {           
        public boolean accept(File folder)
        {
            try
            {
                //Checking only directories, since we are checking for files within
                //a directory
                if(folder.isDirectory())
                {
                    File[] listOfFiles = folder.listFiles();

                    if (listOfFiles == null) return false;

                    //For each file in the directory...
                    for (File file : listOfFiles)
                    {                           
                        //Check if the extension is one of the supported filetypes                          
                        for (String ext : imageExtensions)
                        {
                            if (file.getName().endsWith("." + ext)) return true;
                        }
                    }                       
                }
                return false;
            }
            catch (SecurityException e)
            {
                Log.v("debug", "Access Denied");
                return false;
            }
        }
    };

(ImageExtensions是一个包含“png”,“bmp”,“jpg”,“jpeg”的String [])