无法将<scrollview>添加到Android应用小部件布局</scrollview>

时间:2013-02-07 04:33:45

标签: android

我正在尝试为应用程序创建一个小部件,以下是我正在使用的布局。我试图将滚动视图添加到小部件的后半部分。我无法做到这一点,当我删除标签时,小部件正在显示,但是当使用标签时,android无法加载小部件。我这两天都在摸不着头脑。我不明白我做错了什么?

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/background_light"
    >

        <RelativeLayout 
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/background_dark"
            android:id="@+id/widgetHeader"
            >

            <Button 
              android:background="@drawable/icon_quickword"
              android:id="@+id/widgetBtn"
              android:layout_width="wrap_content" 
              android:layout_height="wrap_content" 
              android:layout_gravity="center_vertical"
              android:layout_margin="5sp" 
             />

            <TextView android:text="@string/widget_title1"
              android:id="@+id/widget_title1" 
              android:textSize="18sp"   
              android:textStyle="bold"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:textColor="@android:color/white"
              android:layout_toRightOf="@id/widgetBtn"
              android:layout_marginLeft="2sp"
              />

            <TextView android:text="@string/widget_title2"
              android:id="@+id/widget_title2" 
              android:textSize="15sp"   
              android:textStyle="italic"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:textColor="@android:color/white"
              android:layout_toRightOf="@id/widgetBtn"
              android:layout_below="@id/widget_title1"
              android:layout_marginLeft="3sp"
              />


        </RelativeLayout>   

            <ScrollView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" 
            >

            <LinearLayout
                android:id="@+id/widgetContent"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:background="@android:color/white"
                >

                <TextView android:text="@string/widget_content_info1"
                  android:id="@+id/widget_content_info1"
                  android:textStyle="bold" 
                  android:textSize="16sp"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_gravity="center_vertical"
                  android:textColor="@android:color/black" />

                <TextView android:text="@string/widget_content_info2"
                  android:id="@+id/widget_content_info2"
                  android:textSize="14sp" 
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_gravity="center_vertical"
                  android:textColor="@android:color/black" />   

                <TextView android:text="@string/widget_content_info3"
                  android:id="@+id/widget_content_info3"
                  android:textSize="14sp" 
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_gravity="center_vertical"
                  android:textColor="@android:color/black" />   

            </LinearLayout>
        </ScrollView>

</LinearLayout>                                                                             

5 个答案:

答案 0 :(得分:5)

我认为Android App-Widget不支持scrollview(主屏幕中的小部件,如果这就是你的意思!)。支持的视图列表为here

答案 1 :(得分:4)

你可以使用只有1个列表项(你的布局)的ListView

获取列表视图的样本here

并修改了ListProvider.java

public int getCount() {
return 1;
}
public RemoteViews getViewAt(int position) {
    RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.your_origin_layout);
    remoteView.setTextViewText(R.id.content, "your Text");
    // add other pocess here
    return remoteView;
}

答案 2 :(得分:2)

        <ScrollView 
            android:layout_width="fill_parent"
    android:layout_height="fill_parent"
        >

    <LinearLayout
        android:id="@+id/widgetContent"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="@android:color/white"
        >

        <TextView android:text="@string/widget_content_info1"
          android:id="@+id/widget_content_info1"
          android:textStyle="bold" 
          android:textSize="16sp"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center_vertical"
          android:textColor="@android:color/black" />

        <TextView android:text="@string/widget_content_info2"
          android:id="@+id/widget_content_info2"
          android:textSize="14sp" 
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center_vertical"
          android:textColor="@android:color/black" />   

        <TextView android:text="@string/widget_content_info3"
          android:id="@+id/widget_content_info3"
          android:textSize="14sp" 
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center_vertical"
          android:textColor="@android:color/black" />   

    </LinearLayout>

    **</ScrollView>**

答案 3 :(得分:1)

滚动视图只能托管一个孩子,最好使用ListView

答案 4 :(得分:0)

使用所有属性后,使用结束标记关闭视图。使用结束标记关闭ScrollView

<ScrollView  android:layout_width="fill_parent"
    android:layout_height="fill_parent">
  <LinearLayout
        android:id="@+id/widgetContent"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="@android:color/white"
        >
    </LinearLayout>

 </ScrollView>