首页 > 解决方案 > 使用存储访问框架的自定义文件夹图标不显示

问题描述

我已经实现了一个 SAF DocumentsProvider。我有一个自定义图标用于我的 queryRoots() 调用,它按预期工作(自定义图标显示在文件选择器的根目录中)。但是,当孩子是这样的文件夹时,我还在 queryChildDocuments 中指定了一个自定义图标(为简洁起见,删除了许多项目):

    final MatrixCursor.RowBuilder row = cursor.newRow();
    try {
        *
        *
        row.add(DocumentsContract.Document.COLUMN_ICON, R.drawable.media_folder);
        row.add(DocumentsContract.Document.COLUMN_MIME_TYPE, DocumentsContract.Document.MIME_TYPE_DIR);
        *
        *
    } catch (Exception e) {
        Timber.d("Lifecycle: exception processing folder metadata: %s", e.getMessage());
    }

每个目录条目都会显示默认文件夹图标,而不是我的自定义图标。就好像一旦它被指定为 MIME_TYPE_DIR 然后任何自定义图标都会被忽略并使用默认文件夹图标?

标签: androidstorage-access-framework

解决方案


就好像一旦它被指定为 MIME_TYPE_DIR 然后任何自定义图标都会被忽略并使用默认文件夹图标?

是的,所有文件夹都将使用文件夹图标。不幸的是,无法自定义文件夹的图标。


推荐阅读