*任何*方式将Android /可绘制图形链接到/ assets?

Try*_*ain 12 xml android assets drawable android-intent

我想支持两个Icon_Picker意图:

org.adw.launcher.icons.ACTION_PICK_ICON
Run Code Online (Sandbox Code Playgroud)

com.betterandroid.launcher2.icons.PICK_ICON_ACTION
Run Code Online (Sandbox Code Playgroud)

不幸的是ADW,Go Launcher和LauncherPro /drawable使用上面提到的意图或者使用查看的XML来查找drawables/drawable

旧的BetterAndroid意图扫描/assets文件夹中的图像.现在,我知道drawables的一个很好的技巧,以便从XML提供drawable:

<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/com_aac_cachemate_demo_cachemate" />
</selector>
Run Code Online (Sandbox Code Playgroud)

因此,我没有提供图形,而是指向现有图形 - 在引用相同图像但不同名称/ ID时不需要重复文件.

我的问题:

1)引用/assets而不是drawable 时,是否有任何等效的技巧?

2)如果我AssetManager用来阅读资产并使它们成为可绘制的:a)Intent扫描那些可绘制的内容是否可读?b)应用程序大小无论如何都不可避免地会增加一倍吗?c)如何才能正确实现AssetManager才能工作?就像是:

sampleimage= BitmapFactory.decodeResource(context.getResources(), R.drawable.sampleimage);
Run Code Online (Sandbox Code Playgroud)

也许?或者是否可以getAsset()从数组中获得更好的选择?

我想要实现的不仅是图像,/drawable而且还以某种方式链接,/assets以便两个意图可以扫描并找到drawable并在其gridview中显示而无需复制图形(将它们放在资源和可绘制文件夹中).谢谢你的帮助!

编辑:android:如何从资源目录加载xml文件?这是一个非常有用的阅读,但我不确定它完全排除了我想要实现的目标.任何/所有输入都表示赞赏.

所以:似乎我必须以另一种方式去做,如果要工作的话.(另一种方式)意味着我需要将图形存储在assets文件夹中,然后用它AssetManager来进入drawable.有关如何做到这一点的任何建议?是否无法通过在drawable文件夹中使用XML来引用资产?

因此,对我来说真正重要的问题,如果我AssetManager用来阅读资产并使它们成为可绘制的:

1)Intent扫描那些可绘制的内容是否可读?

2)应用程序大小无论如何都不可避免地会增加一倍吗?

Com*_*are 1

当引用 /assets 而不是可绘制时,是否有任何等效的技巧可以工作?

不,抱歉。

如果我要使用 AssetManager 读取资源并将它们设为可绘制对象

我将把它解释为创建DrawableJava 对象。

a) 它们可以通过 Intent 扫描这些可绘制对象来读取吗?

Intent我们不会“扫描绘图”,就像纸片写信或子弹射击人一样。因此,我不知道你在说什么。此外,我怀疑唯一可以回答这个问题的人是您感兴趣的两个第三方应用程序的开发人员。哎呀,这两个操作似乎都没有Intent记录 - 这是整个互联网上唯一的页面这似乎提到了com.betterandroid.launcher2.icons.PICK_ICON_ACTION,基于谷歌搜索——所以这些应用程序的作者完全有可能并没有在寻找你做你想做的事情。

b) 应用程序的大小是否会不可避免地增加一倍?

如果“大小”指的是“磁盘上的大小”,那么不,在运行时读取内容不会增加磁盘空间。

c) 我如何正确实现 AssetManager 才能使其正常工作?

致电open()获取您的AssetManager图像InputStream,然后将其传递给BitmapFactory.decodeStream()