【问题标题】:Use assets folder images for gallery将资产文件夹图像用于图库
【发布时间】:2015-02-06 06:19:15
【问题描述】:

我正在创建一个 android 应用程序。其中一个布局文件使用了一个画廊。

我想知道如何将 assets 文件夹中的图片用作图库图片。

例如

对于特定布局文件 new_am.xml,我将 assets/new_am 文件夹中的图像用于该布局的 Gallery。 p>

我知道如何在图像数量最少的情况下使用它,但在我的应用中,资产中的每个文件夹都包含超过 50 张图像。

【问题讨论】:

  • one layout file uses a gallery. ??你是什​​么意思?文件不使用画廊。您的意思是“如何在 GridView 中显示资产中的图像?
  • 在我的应用程序中,我有一个带有画廊的 layout.xml 文件,我想使用 assets 文件夹中的图像作为画廊的图像。
  • 请显示xml文件。还显示您的代码使用最少数量的图像来执行此操作。 50 不是很多,所以我想知道为什么会出现问题。还请解释为什么您可以从 assets 而不是 59 中检索两个文件。

标签: android image assets android-assets


【解决方案1】:

您可以动态访问资产文件夹并将图像设置为画廊,如下所示,

File fA=new File("file:///android_asset/folderA");  
File[] filesA =fA.listFiles();

File fB=new File("file:///android_asset/folderB");  
File[] filesB =fB.listFiles();

您还可以动态收集资产的文件夹名称。

希望这会对你有所帮助。

【讨论】:

  • 不,这行不通。 "file:///android_asset/..." 仅适用于 WebView。
  • 你能帮我做这个吗??
【解决方案2】:
        // to reach asset
        AssetManager assetManager = getAssets();
        // to get all item in dogs folder.
        String[] images = assetManager.list("FolderA");

        InputStream inputStream = getAssets().open("FolderA/" + images[0]);

        // load image as Drawable
        Drawable d = Drawable.createFromStream(inputStream, null);
        mImageView.setImageDrawable(d); //set to an Image view
        inputStream.close();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多