6

スクロールビューにWebビューがあります。アクティビティがロードされると、Webビューが「loadData」を終了すると、スクロールビューが強制的に下部(Webビューがある場所)に移動します。これが起こらないようにするにはどうすればよいですか?私はこれを試しましたが、画面が上下にジャンプします。これは望ましくありません。

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

4 に答える 4

10

fhuchoの答えは、webviewが下にスクロールするのを止めるのにOKです。ただし、トラックボールなどを使用すると、すべてのアクセシビリティが失われます。そのため、改善点を見つけました。

public class MyScrollView extends ScrollView {

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

それが役に立てば幸い !

于 2012-05-29T12:14:15.627 に答える
5

このメソッドでカスタム ScrollView を作成します。

@Override
public void requestChildFocus(View child, View focused) {
    if (child instanceof WebView) return;
}
于 2012-02-29T00:27:56.397 に答える