OP已經得到了他的解決方案,但對於我們其他人,我們可以利用xml中的bool
值,並在不同的資源目錄中對它們進行不同的設置。
所以你AndroidManifest
看起來是這樣的:
<receiver
android:label="@string/app_widget_small"
android:enabled="@bool/is_pre_api_11">
<!-- App Widget Stuff Here -->
</receiver>
<receiver
android:label="@string/app_widget_large"
android:enabled="@bool/is_pre_api_11">
<!-- App Widget Stuff Here -->
</receiver>
<receiver
android:label="@string/app_widget_resizeable"
android:enabled="@bool/is_post_api_11">
<!-- App Widget Stuff Here -->
</receiver>
而且在/res/values/attrs.xml
:
<resources>
<bool name="is_pre_api_11">true</bool>
<bool name="is_post_api_11">false</bool>
</resources>
然後在/res/values-v11/attrs.xml
:
<resources>
<bool name="is_pre_api_11">false</bool>
<bool name="is_post_api_11">true</bool>
</resources>
現在你的API 10和下方有兩個應用程序小部件(小型和大型)以及API 11和更高版本我有一個可調整大小的應用程序部件。
謝謝。這個解決方案效果很好。如果你可以在'appwidget-provider'中使用'android:enabled'屬性,它會更好,但是這將不得不做.. :) – davidk 2012-03-13 13:15:52
@CommonsWare你可以給一些簡單的想法。 – Harshid 2013-03-11 13:29:18
爲什麼不製作一個帶有布爾值的'xml'文件呢?在'res/values-v11 /'(或者應該排除的任何一個)中,將布爾值設置爲false,並在你的'AndroidManifest'中,引用'android:enabled =「@ bool/enable_listview_appwidget」'的布爾值? – xbakesx 2013-04-30 17:27:07