веб-просмотр заставляет мое прокрутка вниз - PullRequest
6 голосов
/ 31 декабря 2010

У меня есть веб-просмотр в виде прокрутки, когда загрузка загружается, он заставляет мой прокручивать вид снизу (там, где находится веб-просмотр), когда веб-просмотр завершает «loadData».Как мне избежать этого?Я пробовал это, но он перепрыгивает экран вверх и вниз, чего я не хочу:

ScrollView scroll = (ScrollView)findViewById(R.id.detailsScroll);  
scroll.post(new Runnable()   
{  
    @Override  
    public void run()   
    {  
       ScrollView scroll = (ScrollView)findViewById(R.id.detailsScroll);  
       scroll.fullScroll(ScrollView.FOCUS_UP);  
    }  
});  

Ответы [ 4 ]

10 голосов
/ 29 мая 2012

Ответ fhucho в порядке, если веб-просмотр не прокручивается вниз. Но вы потеряете всю доступность с трекболом и т. Д. Поэтому я нашел улучшение:

public class MyScrollView extends ScrollView {

    @Override 
    public void requestChildFocus(View child, View focused) { 
        if (focused instanceof WebView ) 
           return;
    super.requestChildFocus(child, focused);
    }
}

Надеюсь, это поможет!

5 голосов
/ 29 февраля 2012

Создайте пользовательский ScrollView с помощью этого метода:

@Override
public void requestChildFocus(View child, View focused) {
    if (child instanceof WebView) return;
}
2 голосов
/ 24 июня 2015

Что касается проблем, связанных с фокусом, я обнаружил, что это работает лучше, добавив их в ваш WebView в XML:

    android:focusable="false"
    android:focusableInTouchMode="false"

Хотя для фактического заданного вопроса просто добавьте другое представление, которое получает фокус по умолчанию, вместо этогоWebView, должен был решить эту проблему.Я думаю, что другие, такие как я, могут найти это, пытаясь решить другие общие проблемы с WebView внутри ScrollView, в центре внимания.Добавление вышеупомянутого к XML не останавливает работу гиперссылок в WebView.

1 голос
/ 29 октября 2015

добавьте это в свой основной макет

android: downndantFocusability = "blocksDescendants"

...