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