Mam układ z numerem ScrollView
, który zawiera następujące widoki: ImageView
, TextView
, WebView
, TextView
. (To dlatego, że chciałbym, aby przewinąć całą sobą, a nie tylko zawartość WebView
)WebView w ScrollView: "Widok zbyt duży, aby zmieścić się w pamięci podręcznej rysunku" - jak przerobić układ?
Po załadowaniu niektóre HTML w WebView
, Otrzymuję następujący:
WARN/View(632): View too large to fit into drawing cache, needs 14236800 bytes, only 1536000 available
... a zawartość WebView
nie będzie wyświetlana. Po usunięciu ScrollView
, ostrzeżenie zniknie i wszystko będzie dobrze, z tym wyjątkiem, że stracę pożądaną funkcję przewijania.
pierwsze: wiem, że próbuje użyć ScrollView
wewnątrz innego ScrollView
jest złe w ogóle, ale nie jestem w 100% pewien, że w każdym przypadku jest równoważne rozwiązanie bez użycia ScrollView
... Znaczy , oczywiście można umieścić zawartość ImageView
s i TextView
s w WebView
, ale co z Button
lub innymi elementami UI wymagającymi interakcji? Czy istnieje ogólny sposób rozwiązywania takich problemów bez rezygnacji z układu i przewijania wszystkiego naraz?
Dowiedziałem się, że nie jestem jedyny z tym problemem. Do innych przykładów, sprawdź te pytania - bez roztworu roboczego jeszcze:
- WebView and GridView into ScrollView, View too large to fit into drawing cache
- Android - View too large to fit into drawing cache
Wypróbuj rzeczy w tej odpowiedzi: http://stackoverflow.com/a/5274400/507810, aby wyłączyć przewijanie w WebView. To może poprawić sytuację. Jest to jednak ujęcie w ciemności z mojej strony. – FoamyGuy
Miałem ten problem, gdy przypadkowo umieściłem przewijany widok w innym przewijanym widoku/pojemniku. Rozwiązaniem była zmiana kontenera na LinearLayout. Aby uzyskać więcej informacji, zobacz mój komentarz poniżej tej odpowiedzi: https://stackoverflow.com/a/37418736/1617737 –