Рендеринг HTML в WebView с помощью пользовательского CSS
мое приложение использует JSoup для загрузки HTML страницы Доски объявлений (скажем, в этом случае это страница, содержащая сообщения данного потока). Я хотел бы взять этот HTML, удалить ненужные элементы и применить пользовательский CSS, чтобы сделать его "мобильным" в веб-представлении.
должен ли я вводить стили в HTML по мере его обработки (так как я буду обрабатывать его в любом случае) или есть хороший способ добавить файл CSS в активы моего приложения и просто ссылаться на него. Я полагаю, что последнее будет идеально, но не уверен, как это сделать.
Я вижу подсказки в WebView loadDataWithBaseURL что вы можете ссылаться на местные активы, но не знаете, как его использовать.
1 ответ:
вы могли бы использовать WebView.loadDataWithBaseURL
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);
и только после этого WebView сможет найти и использовать css-файлы из каталога assets.
ps и, да, если вы загружаете свой html-файл из папки assets, вам не нужно указывать базовый url.