Mam DialogFragment z WebView w środku. Jeśli przeglądarka nie załaduje strony wystarczająco szybko, DialogFragment całkowicie się skurczy i nie wyświetli widoku WWW. W przeciwnym razie, jeśli ładowanie było szybkie, pokazano WebView.okno dialogowe z systemem AndroidFragment "czasami" nie wyświetlający widoku sieciowego
Odpowiedz
Sam znalazłem rozwiązanie. Jeśli użyjesz LinearLayout jako widoku głównego dla DialogFragment, stanie się to, a zmiana go na FrameLayout rozwiązuje problem. Nie rozumiem dlaczego, ale działa.
Jeśli możesz ładować widok sieciowy za pomocą AsyncTaks, fragment okna dialogowego nie jest wyświetlany, ponieważ AsyncTasks nie może zmienić układu, który jest w głównym wątku. Spójrz na to.
W moim przypadku użyłem niestandardowego WebView takiego jak ExpandableHeightWebView
dla wysokości dynamicznej.
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
if (isExpanded())
{
int expandSpec = MeasureSpec.makeMeasureSpec(MEASURED_SIZE_MASK,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
ViewGroup.LayoutParams params = getLayoutParams();
params.height = getMeasuredHeight();
}
else
{
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
Dzwonię setExpanded(true);
po myWebView.loadData(data,null);
ten problem rozwiązać, gdy usunę setExpanded(true);
linię.
Próbowałem na dwóch urządzeniach.
Na pierwszym urządzeniu Nexus 6 działał tak, jak powiedział David "Znalazłem rozwiązanie samemu.Jeśli użyjesz LinearLayout jako widoku głównego dla twojego DialogFragment, stanie się to, zmiana go na FrameLayout rozwiązuje problem. Nie rozumiem, dlaczego, ale działa ". Ale próbowałem w drugim urządzeniu (Galaxy Prime) i zaskoczyłem, nie działał. Po wypróbowaniu ustaw setVisible GONE WebView w moim WebViewClient wewnątrz callback onPageStarted()
i po setVisible VISIBLE wewnątrz callback onPageFinished()
i pracował dla mnie.
public class MyWebClient extends WebViewClient {
private static final String LOG_CAT = "NetPayWebClient";
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.e(LOG_CAT, "onPageStarted(): " + url);
view.setVisibility(View.GONE);
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
Log.e(LOG_CAT, "onPageFinished(): " + url);
view.setVisibility(View.VISIBLE);
super.onPageFinished(view, url);
}
}
- 1. Okno dialogowe modulacji Swing odmawia zamknięcia - czasami!
- 2. Okno dialogowe/wyskakujące okno z obrazem Androida
- 3. Pasek akcji nie wyświetlający ikon widoku akcji
- 4. Okno dialogowe jQuery nie działa z Datepicker
- 5. Szablon widoku szczegółów nie wyświetlający danych modelu
- 6. Animować niestandardowe okno dialogowe
- 7. Pobierz okno dialogowe pliku
- 8. Okno dialogowe Okno główne z modalnym = true nie działa poprawnie
- 9. Niestandardowe okno dialogowe z RecyclerView
- 10. Czasowe okno dialogowe niemodalne
- 11. Okno dialogowe Primefaces + commandButton
- 12. Android: Okno dialogowe/okno dialogowe operacji niespodziewanie znika
- 13. Okno dialogowe otwierania pliku
- 14. Okno dialogowe debugowania XCode
- 15. okno dialogowe blendera wejściowego
- 16. Okno dialogowe alertu WP7
- 17. Typ/okno dialogowe WPF?
- 18. Wyszukaj okno dialogowe folderu
- 19. Android niestandardowe okno dialogowe
- 20. Okno dialogowe potwierdzenia GWT
- 21. Okno dialogowe logowania PyQt
- 22. Czasami okno dialogowe udostępniania na Facebooku nie ładuje się na iOS
- 23. opcja JQuery modalne okno dialogowe nie działa
- 24. Okno dialogowe kanału: obraz nie wyświetla się
- 25. Nie blokujące modalne okno dialogowe postępu Swing
- 26. Usuń nakładkę koloru-grafiki z widoku sieciowego
- 27. Okno dialogowe AngularJS show z routeProvider
- 28. Okno dialogowe z Androidem proste ostrzeżenie
- 29. Jak wyświetlić okno dialogowe z PreferenceFragment?
- 30. Okno dialogowe z widokiem listy i wiadomością
W moim przypadku był to widok korzeń FrameLayout i przeszedłem ją RelativeLayout i magicznie pracował ... bardzo dziwne. Teraz nie jest poprawnie dopasowany do zawartości, co oznacza, że jest zgodny, ale to dla mnie. – for3st