单击WebView android中的ImageView

时间:2015-11-16 09:51:14

标签: android webview

在我的Webview中我有很多标签img(ImageView),我想在webview中点击标签img来获取事件,以便在许多图像中显示它的位置。我怎么办?

3 个答案:

答案 0 :(得分:0)

首先,您需要启用javascript。像这样,

WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);

然后用JavaScript代码绑定你的javascript代码,

public class WebAppInterface {
Context mContext;

/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
    mContext = c;
   }

/** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast) {
    Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
   }
}

然后用webview添加javascriptInterface方法,它将从任何javascript方法调用你的android方法,

webView.addJavascriptInterface(new WebAppInterface(this), "Android");

之后在你的webview页面中,只需在每个标签img上添加onclick方法,然后从onclick事件中调用javascript方法,

<img src="YOUR IMAGE SOURCE" id="your img positon OR anything" onClick="showAndroidToast(this.id)" />

<script type="text/javascript">
function showAndroidToast(toast) {
    Android.showToast(toast);
}
</script>

有关详情,请参阅Android Webview

答案 1 :(得分:0)

使用Javascript Interface将Javascript代码(从html)绑定到Android代码。

例如:

<强> JavascriptInterface

public class WebAppInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
        mContext = c;
    }

    /** Show a toast from the web page */
    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}

HTML(JS)

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />

<script type="text/javascript">
    function showAndroidToast(toast) {
        Android.showToast(toast);
    }
</script>

将JavaScriptInterface添加到WebView

webView.addJavascriptInterface(new WebAppInterface(this), "Android");

This是官方文档中的一个示例。

这是another tutorial

答案 2 :(得分:0)

据我所知,您需要了解点击网页浏览中的图片的时间。

如果是这样,你可以使用这个: http://developer.android.com/reference/android/webkit/WebView.html#getHitTestResult()

和此:

http://developer.android.com/reference/android/webkit/WebView.HitTestResult.html

在你的点击监听器中使用它,它应该可以工作!