2013-04-03 20 views
6

Mam problem z pamięcią układu. Kiedy mam duży widok, nic nie pokazuje, a logcat pokazuje "Widok zbyt duży, aby zmieścić się w pamięci podręcznej rysunku".WebView i GridView w ScrollView, Widok zbyt duży, aby zmieścić się w pamięci podręcznej rysunku

Układ jest:

<ScrollView 
    android:id="@+id/scrollNoticia" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/ficha_curva" 
    android:layout_below="@+id/linea" 
    android:scrollbars="none" 
    > 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingBottom="12dp" 

     > 

     <WebView 
      android:id="@+id/webViewNoticia" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:scrollbars="none" 

      /> 

     <GridView 
      android:id="@+id/gridGaleria" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/webViewNoticia" 
      android:horizontalSpacing="4dp" 
      android:verticalSpacing="4dp" 
      android:numColumns="4" > 
     </GridView> 
    </RelativeLayout> 
</ScrollView> 
+0

Czy otrzymałeś jakieś rozwiązanie? –

+0

Brak rozwiązania ... –

+0

Tak, mam rozwiązanie, które jest bardziej rozwiązaniem, obliczyć wysokość widoku i jeśli jest większa niż konkretna wysokość, wystarczy zmienić wysokość widoku na tę konkretną wysokość. Używam tego w mojej bieżącej aplikacji i działa dobrze –

Odpowiedz

0

Ani WebView lub GridView muszą być osadzone w Scrollview. WebView może przewijać samodzielnie, gdy rozmiar treści przekracza rozmiar ekranu, a także GridView. W zwykły sposób GridView po prostu tworzy tak wiele widoków podrzędnych, które są widoczne. Gdy widok zniknie z ekranu, zostanie ponownie użyty. Więc jeśli umieścisz GridView w ScrollView, być może zepsujesz wzorzec ponownego użycia.

+1

To nie jest pomocne. On (i ja) potrzebuje tego w widoku przewijania z różnych powodów. – grebulon