添加android:widgetCategory =“keyguard | home_screen”,同时仍支持较旧的sdk

时间:2012-11-20 07:42:05

标签: android android-widget android-4.2-jelly-bean

我正在尝试修改我的小部件,以便它支持放置在4.2锁定屏幕上。但是我仍然想支持旧的SDK。

我添加了

android:widgetCategory="keyguard|home_screen"

到我在res / xml中的appwidget-provider,但是eclipse抱怨“在包android中没有为属性widetCategory找到资源标识符”

如果我将minSdkVerion提升到17,一切正常,但我仍然希望支持较旧的SDK。

我尝试使用资源限定符创建一个separte res / xml-v17 / mywidget.xml,只在那里添加标记,但错误仍然出现。

感谢您的帮助。

修改 我想到了。使用res / xml-v17 /文件夹就是答案。我只需要将项目的构建目标更改为17 / 4.2。

2 个答案:

答案 0 :(得分:9)

我认为将targetSdk设置为17就足够了。简单地忽略在较旧的SDK上没有意义的XML元素。

无需将mywidget.xml放入res/xml-v17文件夹

答案 1 :(得分:6)

将mywidget.xml的副本放在res / xml-v17 /文件夹中。 这针对Android 4.2,appwidget-provider元素上的所有新“属性都可以使用。也可以在eclipse中右键单击您的项目并将构建目标更改为:API级别17 / Android 4.2

我看到了你的编辑。但我认为这更清楚地表明这个问题有答案。

更新:我可以确认TomášHubálek回答。不需要xml-v17。改变Build目标就足够了。在eclipse中右键单击您的项目并将构建目标更改为:API级别17 / Android 4.2