我開發了一個可用於不同尺寸的appwidget。 由於可以在Android 4.2上調整應用程序的大小,因此我不想在這些設備上過度填充widgetlist。但對於Android版本較老的客戶,我想提供一些不同尺寸的小部件。 是否有一個條件xml標籤或類似的可能性來檢查清單中的Android版本,然後在舊版本的情況下添加更多的尺寸?適用於不同Android版本的小部件
在此先感謝您的任何想法。
我開發了一個可用於不同尺寸的appwidget。 由於可以在Android 4.2上調整應用程序的大小,因此我不想在這些設備上過度填充widgetlist。但對於Android版本較老的客戶,我想提供一些不同尺寸的小部件。 是否有一個條件xml標籤或類似的可能性來檢查清單中的Android版本,然後在舊版本的情況下添加更多的尺寸?適用於不同Android版本的小部件
在此先感謝您的任何想法。
是的。您爲每個窗口小部件創建的Manifest中的receiver
標記具有android:enabled
屬性,它可以從資源文件獲取該布爾值。
因此,你可以寫你的widget的接收器(重要的線是android:enabled
之一):
<receiver
android:name=".YourAppWidgetProvider"
android:enabled="@bool/your_appwidget_enabled"
android:label="@string/your_appwidget_label" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/your_appwidget_info" />
</receiver>
,然後在res/values
文件夾中創建一個bools.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="your_appwidget_enabled">false</bool>
</resources>
而另一bools.xml
在您的res/values-v11
文件夾:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="your_appwidget_enabled">true</bool>
</resources>
這意味着YourAppWidgetProvider(以及在your_appwidget_info
中描述的小部件)只會出現在v11 +設備上。您可以使用相同的方法根據您想要的任何Android版本禁用/啓用任意數量的小部件。
正是我在尋找什麼。謝謝 – schtiefel