отключить однократное нажатие на веб-просмотр, но сохранить его функции масштабирования и прокрутки - PullRequest
0 голосов
/ 20 мая 2018

Я ищу способ отключить прикосновение к веб-просмотру, но сохранить его функции масштабирования и прокрутки.В течение трех недель я много искал и тестировал несколько методов, таких как: Android отключает WebView touch, но продолжает масштабировать / прокручивать К сожалению, проблема еще не решена.Это мой XML-код:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/Main22Activity"
tools:context="com.example.hashemisara.myapplication0.MainActivity">
<WebView
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:id="@+id/webView"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentTop="true"
    android:focusable="true" />
<ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/progressBar"
    android:height="76dip"
    android:width="76dip"
    android:endColor="#000000"
    android:startColor="@android:color/black"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:visibility="visible"
    />
</RelativeLayout>

Это мой код в методе создания:

scroll=false;
ourBrow.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(final View v, final MotionEvent event) {

        single_touch=false;

        if (event.getAction() == MotionEvent.ACTION_MOVE) {
            scroll=true;
        }
        else if (event.getAction() == MotionEvent.ACTION_UP) {
            if(scroll==true)
               single_touch=false;
            else {
                single_touch=true;
                scroll=false;
                 }///else

        }///if

        return single_touch;
    }
});

Кажется, что одно нажатие начинается с acton_down и заканчивается action_up.Хотя событие прокрутки состоит из одного action_down, нескольких action_moves и одного action_up.Если обнаружено действие перемещения, вышеуказанный метод возвращает значение false, а если обнаружены только action_down и action_up, возвращается значение true, что означает обнаружение одного касания.На основании моего исследования, если touchlistener возвращает true, это означает, что операция отключена.Однако, используя приведенный выше код, масштабирование и прокрутка завершены, но одно нажатие по-прежнему не отключено!Пожалуйста, помогите мне решить эту проблему.

...