桌面小部件上的Kankan.wheel

时间:2013-08-08 13:20:38

标签: android android-wheel

kankan.wheel(http://code.google.com/p/android-wheel/)是我在项目中包含的库。

如果我将wheel小部件添加到活动布局中 - 这没关系并且工作正常,但是如果我将此组件添加到桌面小部件布局中 - 在将小部件添加到桌面的时候我有这个:

08-08 21:02:17.630: W/AppWidgetHostView(30529): Error inflating AppWidget       AppWidgetProviderInfo(provider=ComponentInfo{com.snake.vahta.counter/com.snake.vahta.counter.V ahtaAppWidgetProvider}): android.view.InflateException: Binary XML file line #89: Error inflating class kankan.wheel.widget.WheelView

小部件不显示,只显示字符串:无法显示小部件

我的XML布局文件:

<?xml version="1.0" encoding="utf-8"?>

  <LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:gravity="center"
  android:layout_margin="4dp"
  android:id="@+id/widgetFrameLayout"
  android:background="@drawable/background">


    <LinearLayout
        android:layout_marginTop="24dp"
        android:layout_gravity="center_horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_100k"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_10k"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_1k"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_100"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_10"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_1"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_dot"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_01"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_001"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
    </LinearLayout>

    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:padding="3dip"
        android:gravity="center"
        android:text="@string/total_sum" />

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

桌面小工具有limited set of allowed parts。由于允许在主屏幕中执行任意代码的潜在安全问题,这些限制是必要的。

以下是appWidget文档的相关部分:

  

RemoteViews对象(以及App Widget)可以支持以下布局类:

     

的FrameLayout

     

的LinearLayout

     

RelativeLayout的

     

GridLayout的

     

以下小部件类:

     

AnalogClock

     

按钮

     

记时计

     

的ImageButton

     

ImageView的

     

进度

     

的TextView

     

ViewFlipper

     

的ListView

     

GridView的

     

StackView

     

AdapterViewFlipper

     

不支持这些类的后代。