在主页窗口小部件中使用ScrollView时出现问题

时间:2010-11-22 07:21:02

标签: android

我能够在布局xml文件中成功使用ScrollView作为应用程序。但是,当我尝试在小部件的布局xml文件中使用ScrollView时,一旦我将小部件放入模拟器中,我就会收到“问题加载小部件”错误。如果我注释掉ScrollView,那么小部件将显示在模拟器中。我在下面粘贴了我的布局xml文件。任何关于如何克服这个错误的想法都将不胜感激。

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingBottom="3dip">

    <LinearLayout
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingLeft="6dip"
        android:paddingRight="6dip"
        android:paddingBottom="3dip">

        <Button 
            android:id="@+id/ok_widget"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_gravity="right"
            android:text="@string/button_ok" />
    </LinearLayout>

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true"
        android:layout_marginBottom="50dip">

        <LinearLayout 
            android:id="@+id/linear_layout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingBottom="3dip">      

        </LinearLayout>

    </ScrollView>

    <RelativeLayout 
        android:layout_marginTop="-50dip" 
        android:gravity="bottom" 
        android:layout_height="wrap_content" 
        android:layout_width="fill_parent">
        <LinearLayout
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="6dip"
            android:paddingRight="6dip"
            android:paddingBottom="3dip">
            <Button 
                android:id="@+id/ok_widget"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:layout_gravity="right"
                android:text="@string/button_ok" />
        </LinearLayout>
    </RelativeLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:7)

它在android开发者网站上说:

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

* FrameLayout
* LinearLayout
* RelativeLayout

以下小部件类:

* AnalogClock
* Button
* Chronometer
* ImageButton
* ImageView
* ProgressBar
* TextView

不支持这些类的后代。

答案 1 :(得分:0)

首先,在你的scrollview中添加android:scrollbarAlwaysDrawVerticalTrack =“true”android:scrollbars =“vertical”。 当应用程序崩溃时,adb logcat的输出是什么?