Интерфейс, диалоги, темы, стили, меню
-
Pilorama
- Сообщения: 8
- Зарегистрирован: 27 май 2013, 19:52
Сообщение
Pilorama » 06 дек 2013, 12:57
Требуется убрать индикацию ( диалог, прогресс - не важно) именно в тот момент, когда начинается фактический показ страницы. Рендеринг страницы после её загрузки занимает время и в этот момент пользователь видит чистый лист. Хотелось бы учесть этот момент. Подскажите, пожалуйста, в какую сторону копать.
Код: Выделить всё
public class WebViewClientTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final WebView webview = (WebView) findViewById(R.id.webview);
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(webview, url);
//hide please wait dialog here
}
});
//show please wait dialog here
webview.loadUrl(URL);
}
}
-
altwin
- Сообщения: 1951
- Зарегистрирован: 13 ноя 2013, 14:46
Сообщение
altwin » 11 дек 2013, 22:59
выполнить загрузку асинхронно в другом потоке, в main показать круглый прогресбар, после загрузки показать view.
в одном потоке - сомневаюсь, поскольку открытие webview/загрузка контента занимает время, на слабых устройствах особенно, потому, только делать в фоне.
-
Pilorama
- Сообщения: 8
- Зарегистрирован: 27 май 2013, 19:52
Сообщение
Pilorama » 12 дек 2013, 11:45
Спасибо за ответ. Проблема не в том как загрузить данные, а в том, что после их получения ( onPageFinished сработал ) и их ФАКТИЧЕСКОГО показа в WebView проходит время. Секунда, две, три. В это время идёт рендеринг страницы. Посетитель видит, что процесс получения данных завершён ( прогресс бар скрылся ), но WebView ещё пустой в эти самые секунды. Надо скрыть прогресс загрузки именно в тот момент, когда страница полностью отрисована и готова к показу.