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>
Надеюсь, это поможет.