7

我正在尝试为应用程序创建一个小部件,以下是我正在使用的布局。我试图将滚动视图添加到小部件的后半部分。我无法做到这一点,当我删除标签时,小部件正在显示,但是当带有标签时,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>                                                                             
4

5 回答 5

5

仅在超过一个的类似小部件之上支持 Scrollview

于 2013-06-28T06:17:08.340 回答
5

您可以仅使用 1 个列表项(您的布局)的 ListView

在此处获取列表视图的示例

并修改 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;
}
于 2015-09-18T07:25:54.110 回答
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>**
于 2013-02-07T04:42:04.790 回答
1

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

于 2015-07-27T02:28:37.277 回答
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>
于 2013-02-07T04:52:19.540 回答