2013-02-07 39 views
6

我正在嘗試爲應用程序創建小部件,以下是我正在使用的佈局。我試圖將滾動視圖添加到小部件的後半部分。我無法做到這一點,當我刪除標籤時,小部件顯示,但當與標籤,Android無法加載小部件。我正在用這個頭撓了兩天。我不明白我做錯了什麼?無法將<ScrollView>添加到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>                    
+1

使用一個ListView,而不是 –

回答

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>** 
+0

回合不結束滾動爭奪w標籤 – duggu

+0

我不應該使用標籤,但爲什麼?如果我只是想在屏幕中間放置可滾動的視圖,那麼保持上面和下面的部分是固定的? – Amol

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> 
+0

我已添加,仍然有問題,更新了新佈局的問題。 – Amol

+0

添加一些文字嘗試一下。因爲它的長度要短。 – MuraliGanesan

4

我認爲Android App-Widget不支持scrollview(如果這就是你的意思!)。支持的視圖列表是here

+0

橫向滾動(Horizo​​ntalScrollView)不受支持。 ScrollView,我相信是支持的。 –

+1

我嘗試使用appwidget中的滾動視圖,但小部件甚至沒有加載。官方文檔沒有列出支持的滾動視圖 –

1

滾動視圖只能承載一個孩子,最好使用一個ListView

1

可以使用的ListView只有1列表項(佈局)的列表視圖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; 
} 
相關問題