Android:想要在用户向上滚动时显示布局,在webview中向下滚动时隐藏

时间:2012-10-09 04:30:57

标签: android android-webview android-gesture android-websettings

我正在构建一个应用程序,我已在webview上加载了该网页。我有一个包含edittext的布局。我希望在用户在webview中向下滚动时隐藏布局,并在用户滚动到顶部时再次显示布局。我尝试过使用onTouch,但只需MotionEvent.ACTION_MOVE即可。这是我的代码的样子:

@Override
public boolean onTouch(View v, MotionEvent event) {
    if (v.getId() == R.id.web
            && event.getAction() == MotionEvent.ACTION_MOVE) {
        handler.sendEmptyMessageDelayed(CLICK_ON_URL, 2000);
    }
    return false;
}

@Override
public boolean handleMessage(Message msg) {
    if (msg.what == CLICK_ON_URL) {
        top.setVisibility(LinearLayout.GONE);
        return true;
    }
    return false;
}

正如您在此处所见,我正在使用top.setVisibility(LinearLayout.GONE);,但这并不能解决我的问题,它完全隐藏了我的布局。

知道如何克服这个问题。

1 个答案:

答案 0 :(得分:2)

您可以将您的布局和webView包装在scrollView中。因此,当用户向下滚动时,父级将捕获滚动事件。供参考,

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg_main" >

<!-- Both your views goes here -->

</ScrollView>

希望有所帮助。