У меня есть приложение appwidget и вы хотите, чтобы пользователи могли создавать скины, которые можно применять во время выполнения. Мое предпочтительное решение - использовать файлы apk с девятью патчами png-изображений, которые растягиваются, чтобы соответствовать виджету ImageView, однако его начало выглядеть так, как будто мне, возможно, придется использовать другую технологию упаковки (например, zip-файлы).Ищем элегантное решение для кожи appwidget
Что я пробовал: Импорт девять патч ресурсов, Drawable с context.getResourcesForApplication (my.app) .getResources ..., превращая их в растровые изображения с помощью холста и установки растрового изображения в RemoteView с помощью setImageViewBitap. Это не сработало, потому что мне нужно было указать размер результирующего представления (myBitmap.setBounds (.., ..)) во время преобразования, а некоторые ширины/высоты в моем приложении не были исправлены. Возможно, есть способ получить высоты и т. Д., Которые я пропустил.
Импорт ресурсов непосредственно в RemoteView с помощью setImageViewUri() Это не работает, потому что функция, похоже, не читает файл android.resource: // Ури больше (я ткнул в источник ImageView, и это только кажется read files paths and content: // Uri's)
Импорт ресурсов непосредственно в RemoteView с помощью setImageViewResource(), который не работал, поскольку идентификатор, полученный из внешнего пакета, очевидно, не содержит ссылки на пакет.
То, что я пытаюсь избежать, - это жесткая кодировка всей ширины и высоты приложения, или с использованием отдельной схемы упаковки.
Кто-нибудь реализовал скины appwidget красиво и хочет поделиться знаниями? Альтернативно, в моей логике может быть дыра, где можно указать.
Я могу предоставить код, если потребуется, хотя у меня его нет здесь прямо сейчас.
Привет Сэм, ты мог дайте нам больше Хвосты об использовании и распространении поставщика контента? или лучше, образец кода? Спасибо – 2011-01-19 14:30:43