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

Sam*_*ell 8 android android-widget android-4.2-jelly-bean

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

我补充道

android:widgetCategory="keyguard|home_screen"
Run Code Online (Sandbox Code Playgroud)

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

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

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

谢谢你的帮助.

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

Tom*_*lek 9

我认为,设置targetSdk17就够了.简单地忽略在较旧的SDK上没有意义的XML元素.

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


Rog*_*ggA 6

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

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

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