Вопросы по работе с WebView
Вопросы по работе с WebView
Здравствуйте!
Стал практиковаться с компонентом WebView.
Код:
WebView webView = (WebView) findViewById(R.id.webView);
Uri data = getIntent().getData();
webView.setScrollBarStyle(OVER_SCROLL_NEVER);
webView.setBackgroundColor(0);
webView.setBackgroundResource(R.drawable.fon);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(data.toString());
Установил у webView прозрачный цвет и фон. Запускаю приложение и попадаю на страницу сайта.
Страница сайта сделана так, что ссылки обрабатываются через ajax. При переходе по ссылкам предыдущие запросы с экрана не исчезают, а остаются на месте. Убираю из кода:
webView.setBackgroundColor(0);
webView.setBackgroundResource(R.drawable.fon);
и все в порядке, предыдущий запрос с экрана уходит.
Можете помочь с этим вопросом? Как оставить код и при этом стирать с экрана предыдущий запрос.
Стал практиковаться с компонентом WebView.
Код:
WebView webView = (WebView) findViewById(R.id.webView);
Uri data = getIntent().getData();
webView.setScrollBarStyle(OVER_SCROLL_NEVER);
webView.setBackgroundColor(0);
webView.setBackgroundResource(R.drawable.fon);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(data.toString());
Установил у webView прозрачный цвет и фон. Запускаю приложение и попадаю на страницу сайта.
Страница сайта сделана так, что ссылки обрабатываются через ajax. При переходе по ссылкам предыдущие запросы с экрана не исчезают, а остаются на месте. Убираю из кода:
webView.setBackgroundColor(0);
webView.setBackgroundResource(R.drawable.fon);
и все в порядке, предыдущий запрос с экрана уходит.
Можете помочь с этим вопросом? Как оставить код и при этом стирать с экрана предыдущий запрос.
Re: Вопросы по работе с WebView
Я так понимаю, что идет кэширование запроса. Но причем вставляемый фон, не могу понять.
Re: Вопросы по работе с WebView
Продолжая эксперименты с WebView, пришел с следующей трудности.
Код xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/header_fon2" />
<WebView
android:id="@+id/webView"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
</WebView>
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="60dp"
android:maxHeight="60dp"
android:adjustViewBounds="true"
android:src="@drawable/footer_fon" />
</LinearLayout>
Нижний imageView2 не выводится на экран.
Мне нужно чтобы imageView1 и imageView2 выводилсь по высоте, с высотой как идет картинка в фоне. Остальное должен заполнить на экране WebView. WebView заполняет, но не дает выводится imageView2.
Не могу понять в чем проблема. Прошу помощи.
Код xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/header_fon2" />
<WebView
android:id="@+id/webView"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
</WebView>
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="60dp"
android:maxHeight="60dp"
android:adjustViewBounds="true"
android:src="@drawable/footer_fon" />
</LinearLayout>
Нижний imageView2 не выводится на экран.
Мне нужно чтобы imageView1 и imageView2 выводилсь по высоте, с высотой как идет картинка в фоне. Остальное должен заполнить на экране WebView. WebView заполняет, но не дает выводится imageView2.
Не могу понять в чем проблема. Прошу помощи.
Re: Вопросы по работе с WebView
Жаль, что вы не приложили к сообщению картинки из drawable, что бы можно было посоветовать точнее, а так неясно, можно ли их деформировать без соблюдения пропорций, или нет.
В вашем коде все логично - верхний ImageView имеет height по содержимому, т.е. умещается в экран. Далее идет WebView с высотой fill_parent, он и "отъедает" всю оставшуюся высоту.
Можно сделать, например, через RelativeLayout
В вашем коде все логично - верхний ImageView имеет height по содержимому, т.е. умещается в экран. Далее идет WebView с высотой fill_parent, он и "отъедает" всю оставшуюся высоту.
Можно сделать, например, через RelativeLayout
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:adjustViewBounds="true"
android:src="@drawable/iv_header_background" />
<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/imageView2"
android:layout_below="@+id/imageView1">
</WebView>
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:adjustViewBounds="true"
android:src="@drawable/iv_footer_background" />
</RelativeLayout>
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Вопросы по работе с WebView
WebView нужно задать вес:
android:layout_weight="1"
android:layout_weight="1"
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Вопросы по работе с WebView
Спасибо! С размещением WebView получилось. Буду дальше изучать.
Искал в Интернете, чтобы работать с кэш, нашел только такой код:
WebSettings webSettings = webView.getSettings();
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
webSettings.setAppCacheEnabled(false);
webView.clearCache(true);
Пробовал, но результата нет. Предыдущий запрос так и остается на экране.
Искал в Интернете, чтобы работать с кэш, нашел только такой код:
WebSettings webSettings = webView.getSettings();
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
webSettings.setAppCacheEnabled(false);
webView.clearCache(true);
Пробовал, но результата нет. Предыдущий запрос так и остается на экране.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Вопросы по работе с WebView
Мне кажется причина в методе onDraw класса WebView.
Что будет, если страница сайта не помещается на весь экран, нормально ли отрабатывает скрол?
Что будет, если страница сайта не помещается на весь экран, нормально ли отрабатывает скрол?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Вопросы по работе с WebView
Скрол отрабатывает нормально.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Вопросы по работе с WebView
Я тут кое что выяснил, это распространенная проблема при использовании JavaScript. Если скрипты отключить, все будет хорошо.
Попробую вечером посмотреть, что с этим делать.
Попробую вечером посмотреть, что с этим делать.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Вопросы по работе с WebView
Не могу найти сайт со скриптами и прозрачным фоном. Адресочек не подскажете?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Вопросы по работе с WebView
Нет, не могу подсказать.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Вопросы по работе с WebView
Тогда ни чем помочь не могу. Не смог воспроизвести ошибку, у меня все работает правильно.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Вопросы по работе с WebView
Можете прислать код, на котором вы делали проверку и все работало?
Re: Вопросы по работе с WebView
Подключите, пожалуйста, к своему коду вот этт адрес: http://pinotnoir.9094370442.ru/
Работает нормально или как у меня?
Если нормально, пришлите свой код.
Работает нормально или как у меня?
Если нормально, пришлите свой код.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Вопросы по работе с WebView
Тоже не затирается предыдущая страница. Пробовал по эксперентировать с переопределением методов. Получил забавные результаты, но от отображения предыдущей страници не избавился. Пока лазил по интернету наткнулся на фразу одного юзера, что ему помогло использование Handler. Надо бы попробовать, но сегодня я это проверить уже не успею.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Вопросы по работе с WebView
Здравствуйте! Использование Handler не пробовали?
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Вопросы по работе с WebView
Я не понял, что он имел ввиду и какое отношение к этому имеет Handler. Честно говоря зашел в тупик.
Есть примеры где создается класс Handler наследуемый от BrowserCallbackAdapter, но это совсем не наш случай.
Все таки я бы посоветовал искать пути обхода. Например, установить фон который должен быть за прозрачным WebView.
Есть примеры где создается класс Handler наследуемый от BrowserCallbackAdapter, но это совсем не наш случай.
Все таки я бы посоветовал искать пути обхода. Например, установить фон который должен быть за прозрачным WebView.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Вопросы по работе с WebView
Хочу сделать с 4-х сторон окружить WebView компонентами ImageView.
Все четыре ImageView имеют свои размеры. А WebView должен будет заполнить собой оставшуюся область.
Делаю так, как на коде, но не получается.
Но код не работает. Прошу помощи.
Все четыре ImageView имеют свои размеры. А WebView должен будет заполнить собой оставшуюся область.
Делаю так, как на коде, но не получается.
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:adjustViewBounds="true"
android:src="@drawable/iv_header_background" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:adjustViewBounds="true"
android:src="@drawable/iv_left_background" />
<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/imageView2"
android:layout_below="@+id/imageView1"
android:layout_toLeftOf="@+id/imageView3"
android:layout_toRightOf="@+id/imageView4">
</WebView>
<ImageView
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:adjustViewBounds="true"
android:src="@drawable/iv_right_background" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:adjustViewBounds="true"
android:src="@drawable/iv_footer_background" />
</RelativeLayout>
Re: Вопросы по работе с WebView
залейте куда-нить ваши 4 картинки
Re: Вопросы по работе с WebView
Картинки в архиве по адресу: http://ifolder.ru/30153437
header_fon.png -верх
footer_fon.png - низ
left_fon.png - лево
right_fon.png - право
vinnaya_karta_fon2.png - фон для WebView
Спасибо!
header_fon.png -верх
footer_fon.png - низ
left_fon.png - лево
right_fon.png - право
vinnaya_karta_fon2.png - фон для WebView
Спасибо!