Witam. Tworzę przeglądarkę mobilną i natknąłem się na problem. Mianowicie chcę stworzyć tryb czytania (sam tekst, zero obrazków). Problemem jest to, że musiałbym nadpisać załadowaną stronę i dopisać kod CSS. Tylko nie wiem jak to zrobić
Tylko jak to użyć… Bo kod
htmlData = "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + htmlData;
// lets assume we have /assets/style.css file
webView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "UTF-8", null);
nic tu nie da, skoro tylko czystą stronę da + zmienna nie działa poprawnie
Edit: czuję że lepiej będzie stworzyć plik, który będzie zawierał iframa i dodatkowo dodam do niego CSS.
Co to znaczy, że nie działa poprawnie?
Bo zmienna zawiera dodanie siebie samej mimo że nie jest zainicjowana
Jedyne sensowne rozwiązanie jakie widzę, to nawiązać połączenie nie poprzez Webview, a zwykły obiekt HTTP, np. http://www.vogella.com/tutorials/AndroidNetworking/article.html .Z tą różnicą, że zamiast wypisywać dołączać do StringBuilder. I w momencie, gdy np. we wczytanej linii będzie <head>, zaraz za dodać css. Wepchnąć tak przebudowany String do WebView.
Przykro mi, że chciałeś mieć gotowe rozwiązanie na talerzu, a mnie nie chciało się ci go podać
To tylko najważniejszy fragment rozwiązania, z kontekstu idzie dowiedzieć się reszty. Sama idea mówi: pobierasz zawartość strony do Stringa i wstrzykujesz do niego linijkę linkującą do CSS-a, a na końcu całość wyświetlasz w WebView. Nie ma w tym żadnej filozofii, ale szczegóły musisz dopisać sam.