Android: хотите показывать макет сверху при прокрутке пользователя вверх и скрывать при прокрутке вниз в веб-просмотре

Я создаю приложение, в котором я загрузил веб-страницу на веб-просмотр. У меня есть один макет, который содержит edittext в этом. Я хочу скрыть макет, когда пользователь прокручивает веб-просмотр вниз, и показать его снова, когда пользователь прокручивает вверх. Я пытался использовать 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 ответ

Вы можете обернуть свой макет и веб-представление внутри 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>

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

Другие вопросы по тегам