8

I am trying to modify my widget so that it supports being placed on 4.2 lockscreens. However I still want to support older SDK's.

I added

android:widgetCategory="keyguard|home_screen"

to my appwidget-provider in res/xml, but eclipse complains that there is "no resource identifier found for attribute widetCategory in package android'

If I raise the minSdkVerion to 17 everything works fine, but I want to still support older SDKs.

I have tried using resource qualifiers creating a separte res/xml-v17/mywidget.xml and only adding the tag there, but the error still appears.

Thanks for any help.

Edit: I figured it out. using a res/xml-v17/ folder is the answer. I just had to change the build target for my project to 17 / 4.2.

4

2 に答える 2

9

targetSdkまでの設定で17十分だと思います。古い SDK では意味をなさない XML 要素は単純に無視されます。

mywidget.xml をres/xml-v17フォルダーに入れる必要はありません

于 2012-11-26T08:22:57.483 に答える
6

mywidget.xml のコピーを res/xml-v17/ フォルダーに置きます。これは Android 4.2 を対象としており、appwidget-provider 要素のすべての新しい「プロパティ」が利用可能になります。また、Eclipse でプロジェクトを右クリックし、ビルド ターゲットを API レベル 17/ Android 4.2 に変更します。

私はあなたの編集を見ました。しかし、これにより、この質問に答えがあることがより明確になると思います。

更新: Tomáš Hubálek の回答を確認できます。xml-v17 は必要ありません。ビルド ターゲットを変更するだけで十分です。Eclipse でプロジェクトを右クリックし、ビルド ターゲットを API レベル 17/ Android 4.2 に変更します。

于 2012-11-22T08:49:06.053 に答える