我开发了一个可用于不同尺寸的 appwidget。由于可以在 Android 4.2 上调整应用程序的大小,因此我不想在这些设备上过度填充小部件列表。但对于使用较旧 Android 版本的客户,我想提供一些不同尺寸的小部件。是否有条件xml标签或类似的可能性来检查清单中的Android版本,然后在旧版本的情况下添加更多尺寸?
提前感谢您的任何想法。
我开发了一个可用于不同尺寸的 appwidget。由于可以在 Android 4.2 上调整应用程序的大小,因此我不想在这些设备上过度填充小部件列表。但对于使用较旧 Android 版本的客户,我想提供一些不同尺寸的小部件。是否有条件xml标签或类似的可能性来检查清单中的Android版本,然后在旧版本的情况下添加更多尺寸?
提前感谢您的任何想法。
是的。receiver
您为每个小部件创建的清单中的标签具有一个android:enabled
属性,它可以从资源文件中获取该布尔值。
因此,您可以将小部件的接收器编写为(重要的一行是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>
bools.xml
然后在您的文件夹中创建一个res/values
:
<?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 版本禁用/启用任意数量的小部件。