禁用webview上的单击,但保持它的缩放和滚动功能

时间:2018-05-20 07:23:39

标签: android webview scroll zoom ontouchlistener

我正在寻找一种方法来禁用webview上的触摸,但保留它的缩放和滚动功能。三个星期我搜索了很多并测试了几种方法: Android disable WebView touch but keep zooming/scrolling 不幸的是,问题尚未解决。这是我的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>

这是我在create method中的代码:

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,则表示该操作被禁用。但是,使用上面的代码,缩放和滚动已完成,但仍然没有禁用单击事件! 请帮我解决这个问题。

0 个答案:

没有答案