2013-02-07 8 views
6

Sto cercando di creare un widget per un'applicazione, di seguito è riportato il layout che sto utilizzando. Ho provato ad aggiungere la vista di scorrimento alla seconda metà del widget. Non riesco a farlo, Quando ho rimosso i tag, viene visualizzato il widget, ma quando con i tag, Android non è in grado di caricare il widget. Mi sto grattando la testa con questo per due giorni. Non capisco cosa sto sbagliando?Impossibile aggiungere <ScrollView> a un layout di widget dell'app 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

Utilizzare un ListView invece –

risposta

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

ur non finisce di scorrimento vie w tag – duggu

+0

Non dovrei usare il tag, ma perché? cosa devo fare se voglio solo dare una vista scorrevole al centro dello schermo, mantenendo fisso sopra e sotto le parti? – Amol

0

Dopo aver utilizzato tutti gli attributi chiudere la tua vista con tag di chiusura. chiudi il tuo ScrollView con il tag di chiusura.

<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

Ho aggiunto, c'è ancora qualcosa che non va, domanda aggiornata con un nuovo layout. – Amol

+0

Aggiungi un altro testo provalo. perché la sua lunghezza è breve. – MuraliGanesan

4

penso che lo ScrollView non è supportato in Android App-Widget (i widget che va nella schermata iniziale, se è questo che vuoi dire!). L'elenco di punti di vista supportati sono here

+0

Lo scorrimento laterale (HorizontalScrollView) non è supportato. The ScrollView, credo sia supportato. –

+1

Ho provato con scroll view in appwidget, ma il widget non si sta nemmeno caricando. E la documentazione ufficiale non elenca la vista di scorrimento come supportato –

1

vista di scorrimento può ospitare un solo figlio, meglio utilizzare un ListView

1

è possibile utilizzare ListView con solo 1 elemento della lista (il layout) campione

get per visualizzazione elenco here

e modificato 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; 
} 
Problemi correlati