android-寻找优雅的appwidget皮肤解决方案

我有一个appwidget应用程序,并希望使用户能够创建可在运行时应用的外观.我的首选解决方案是使用带有九个补丁png图像的apk文件,这些图像可以拉伸以适合其窗口小部件的ImageView,但是开始看来我可能不得不使用另一种打包技术(例如zip文件).

我尝试过的
使用context.getResourcesForApplication(my.app).getResources …将九个补丁资源导入为Drawable,使用画布将它们转换为位图,并使用setimageViewBitap将位图设置为RemoteView.
这没有用,因为我需要在转换期间指定结果视图的大小(myBitmap.setBounds(..,..)),并且我的appwidget中的某些宽度/高度不是固定的.也许有一种方法可以达到我错过的高度.

使用setimageViewUri()将资源直接导入到RemoteView
这不起作用,因为该函数似乎不再读取android.resource:// Uri的内容(我在ImageView源中戳了一下,它似乎只读取了文件路径和content:// Uri的内容)

使用setimageViewResource()将资源直接导入到RemoteView中是行不通的,因为从外部包中检索到的id显然不包含包引用.

我要避免的是对所有appwidget的width和height进行硬编码,或者使用单独的打包方案.

有没有人很好地实现了appwidget skins,并希望分享知识?或者,在我的逻辑中可能有一个可以指出的漏洞.

我可以根据需要提供代码,尽管我现在没有任何代码.

最佳答案
我找到了该示例解决方http://www.siroccosoftware.com/devblog/?p=10

影像检视

Uri path = Uri.parse("android.resource://PACKAGE_NAME/RESOURCE_ID");

views.setimageViewUri(ID,path); 

远程查看

RemoteViews views = new RemoteViews("PACKAGE_NAME","LAYOUT_RESOURCE_ID");

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...