小部件显示为0x0并崩溃启动器

时间:2011-12-02 12:15:45

标签: android widget android-4.0-ice-cream-sandwich

所以,我已经为我的应用程序声明了一个小部件,并希望在Ice Cream Sandwich模拟器上尝试它,但是当我选择它时,它会使发射器崩溃。

问题是,启动器认为宽度和heigt等于0(它还将我的小部件列为0x0小部件),所以我猜我的声明中存在问题

E/AndroidRuntime(  709): java.lang.IllegalArgumentException: width and height must be > 0
E/AndroidRuntime(  709):    at android.graphics.Bitmap.createBitmap(Bitmap.java:603)
E/AndroidRuntime(  709):    at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
[...]

这是我的小部件声明:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
  xmlns:android="http://schemas.android.com/apk/res/android">
   android:updatePeriodMillis="7200000" 
    android:initialLayout="@layout/widget"
    android:minHeight="72dp" android:minWidth="90dp"> 
</appwidget-provider>

minHeightminWidth是否有问题?

2 个答案:

答案 0 :(得分:0)

以防有人犯了同样的错误:这是由于编译器无法识别的语法错误(请参阅上面的注释)。

答案 1 :(得分:0)

另一种触发相同错误的方法是将android:previewImage设置为my_widget_info.xml文件中的无量纲形状,而不是png。

通过将android:previewImage设置为具有尺寸的drawable来解决,例如任何.png。

起初我认为在处理我的小部件时使用可绘制的背景形状作为占位符预览图像会很聪明,这就是我收到此错误的原因。