2011-02-02 3 views
1

Я пытаюсь встроить веб-просмотр в framelayout. мой файл launch.xml показан ниже.Webview + прокрутка вопрос + андроид

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

<WebView 
    android:id="@+id/webview" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 
</FrameLayout> 

Я реализовал WebChromeClient и WidgetViewClient. Я внедрил onTouchEvent и передал события касания к WebView.

Проблема, с которой я столкнулся, не может прокручиваться внутри webview. Например, содержимое составляет около 5 строк, тогда я могу видеть только 3 строки и не могу прокручивать.

События касания идут к Webview, сначала action_down, а затем action_move, я не могу получить то, что неправильно делает?

У меня есть этот код также

mWebView.setHorizontalScrollBarEnabled(true); 
mWebView.setVerticalScrollBarEnabled(true); 

Есть ли что-нибудь еще я должен установить ??

Я проверил, заменив FrameLayout с Scr Заранее спасибо ..

ответ

1

Прежде всего, если вам просто нужно один дочерний элемент (WebView), зачем вам нужен FrameLayout родительский тег?

И, во-вторых, вам не нужно обращаться с какими-либо событиями касания, он автоматически обрабатывает прокрутку и по умолчанию. Вы посмотрели на этот учебник WebView?

Есть ли какие-либо конкретные причины, по которым вы не можете сделать это, как они говорят? Если да, то что это? Вы пытаетесь сопоставить любые другие события касания?

+0

Привет ,, Я проверил Webview учебник. Я удалил FrameLayout, но в любом случае это не помогло. Я сделал то же самое, что и в учебнике, но он не работает. MWebView.loadUrl (url); в этом случае, если я укажу URL как «http://www.google.com», он работает нормально, но когда URL-адрес «file: //mnt/sdcard/abc.html» (который я разархивирую,) это не работает. этот вопрос напортачил меня за последние 10 дней. если я сохраню некоторую страницу, сохраненную в браузере, а затем попытаюсь загрузить ее, как описано выше, она снова работает .. –

+0

Я думаю, что вам не хватает косой черты при ссылке на html: file: // и ваш путь/mnt/sdcard/abc. html. Будет ли это работать? – mdelolmo

2

Кажется, что есть проблема с прокруткой веб-страниц из файла: ///. Единственное решение, с которым я столкнулся, это использовать innerscrolling на локальных веб-страницах. Для этого я использовал модифицированный скрипт как загружаемый в http://cubiq.org/iscroll-4. Единственная модификация, которую я сделал, заключалась в том, чтобы установить в css высоту и высоту строки верхнего и нижнего колонтитула до 0px, а также в верхнем и нижнем колонтитулах до 0px. И это работает. Может быть, это тоже поможет.

@mdelolmo: Пожалуйста, прекратите публикацию любых подобных ответов, это не поможет выбрать вещи, которые не имеют никакого отношения к самой проблеме. Не имеет значения, если макет определен или нет! И та же самая проблема, которую он описывает, возникает, когда вы используете точный код учебника webview!

0

пусть свиток там и сделать содержимое webview в wrap_content Как, если он работает

Смежные вопросы