2010-10-26 15 views
1

Je le fichier suivant de mise en page xml:avec la hauteur dans WebView

<ViewFlipper android:id="@+id/details" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <!-- ListView que define la lista de noticias --> 
    <ListView 
     android:id="@+id/list" 
     android:cacheColorHint="@android:color/transparent" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 

    <!-- Layout del detalle de una noticia --> 
    <ScrollView 
     android:id="@+id/scroll" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#FFFFFFFF"> 

     <LinearLayout 
     android:id="@+id/widget" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"> 

      <RelativeLayout android:id="@+id/top" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:padding="2dip" 
       android:background="@drawable/header"> 
       <Button android:id="@+id/back" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="5.0dip" 
        android:layout_marginLeft="5.0dip" 
        android:padding="5.0dip" 
        android:background="@drawable/custom_buttom" 
        android:text="Atrás" 
        android:textStyle="bold" 
        android:textSize="11.0dip" 
        android:textColor="#FFFFFF"/> 

       <Button android:id="@+id/share" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="5.0dip" 
        android:layout_marginRight="5.0dip" 
        android:padding="5.0dip" 
        android:background="@drawable/custom_buttom" 
        android:text="Compartir" 
        android:textStyle="bold" 
        android:textColor="#FFFFFF" 
        android:textSize="11.0dip" 
        android:layout_alignParentRight="true"> 
       </Button> 
      </RelativeLayout> 

      <TextView 
       android:id="@+id/title" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_marginTop="12dip" 
       android:padding="10dip" 
       android:gravity="fill_horizontal" 
       android:textStyle="bold" 
       android:textSize="22dip" 
       android:textColor="#000000"/> 

      <TextView 
       android:id="@+id/date" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:paddingLeft="10dip" 
       android:gravity="left" 
       android:textSize="11dip" 
       android:textColor="#000000"/> 

      <WebView 
      android:id="@+id/message" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginTop="12dip" 
      android:padding="10dip" 
      android:gravity="fill_horizontal" 
      android:textSize="14dip" 
      android:layout_centerInParent="true"/> 

      <TextView 
       android:id="@+id/source" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:paddingLeft="10dip" 
       android:gravity="center" 
       android:textSize="11dip" 
       android:textColor="#000000"/> 
     </LinearLayout> 
    </ScrollView> 
</ViewFlipper> 

où le contenu de la WebView est modifié dynamiquement selon l'élément sélectionné dans une ListView précédent (la première vue dans ViewFlipper).

Le problème est lorsque je définis un nouveau contenu dans le WebView après que la vue a été remplie avec du texte. Si le premier ensemble de texte est plus long que le suivant, la seconde fois que j'ai un grand espace vide entre la fin du texte WebView et le pied de page que j'ai sur l'écran. Est-ce que quelqu'un sait quel est le problème?

Un autre problème que j'ai est avec le focus. La première fois que je charge cette vue, elle est concentrée dans le haut, mais la seconde est directement centrée sur le WebView.

Répondre

1

J'ai eu un problème similaire. Résolu cela en utilisant FrameLayout.

se présente comme suit dans la fonction de changement de page pour moi:

FrameLayout frame = (FrameLayout) findViewById(R.id.frame); 
frame.removeAllViews(); 

WebView webView = new WebView(yourContext); 

// do whatever you need to do with webView 

frame.addView(webView); 
0

Dans votre WebView essayez de remplacer
android:layout_height="fill_parent"
avec
android:layout_height="wrap_content"