Я пытаюсь поддержать два намерения Icon_Picker:
org.adw.launcher.icons.ACTION_PICK_ICON
и
com.betterandroid.launcher2.icons.PICK_ICON_ACTION
К сожалению, ADW, Go Launcher и LauncherPro ищут drawables в /drawable
либо с использованием указанного выше намерения, либо с помощью XML, который выглядит в /drawable
В то время как старое намерение BetterAndroid сканирует изображения в папке /assets
. Теперь я знаю об огромном трюке для чертежей, чтобы предоставить возможность извлечь из XML:
<?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>
Поэтому вместо того, чтобы предоставлять графику, я указываю на существующую графику. Хорошо, что вам не нужны дубликаты файлов при обращении к одному и тому же изображению, но с разными именами/идентификаторами.
Мои вопросы:
1) Есть ли какой-либо эквивалентный трюк, который будет работать, если ссылаться на /assets
вместо того, чтобы вытаскивать?
2) Если бы я использовал AssetManager
, чтобы прочитать активы и сделать их привлекательными: a) Могут ли они быть читаемыми с помощью сканирования Intent для этих чертежей? б) Будет ли размер приложения неизбежно вдвое больше? c) Как правильно выполнить AssetManager для этого? Что-то вроде:
sampleimage= BitmapFactory.decodeResource(context.getResources(), R.drawable.sampleimage);
может быть? Или могут быть лучшие варианты getAsset()
из массива, возможно?
То, что я пытаюсь достичь, не только имеет изображения в /drawable
, но также как-то связано с /assets
, так что оба намерения могут сканировать и находить чертежи и отображать их в gridview без необходимости дублировать графику (помещая их в оба актива и доступные папки. Спасибо за любую помощь!
EDIT: android: как загрузить xml файл из каталога ресурсов? был очень полезным для чтения, но я не уверен, что он полностью исключает, что я пытаясь добиться. Любой/Все входные данные приветствуются.
Итак: Кажется, мне пришлось бы сделать это по-другому, если это будет работать вообще. (Другой способ), то есть мне нужно сохранить графику в папке assets
, а затем использовать AssetManager
, чтобы получить их в drawable
. Любые предложения о том, как это сделать? Невозможно ли ссылаться на активы с помощью XML в папке drawable
?
Поэтому вопросы, которые действительно важны для меня, Если бы я использовал AssetManager
для чтения активов и создания их drawables:
1) Могут ли они считываться с помощью сканирования Intent для этих чертежей?
2) Будет ли размер приложения неизбежно вдвое больше?