android如何在像GMail这样的webview中显示PopupMenu

Posted

技术标签:

【中文标题】android如何在像GMail这样的webview中显示PopupMenu【英文标题】:android how to show PopupMenu in webview like GMail 【发布时间】:2015-01-23 00:04:00 【问题描述】:

我想在我的应用程序(如 GMail)的 web 视图中显示 PopupMenu。

这是我的代码:

webView.addjavascriptInterface(new WebAppInterface(getActivity()), "ScriptToandroid");

<div class="moreover_icon" onclick="showPopup('file_attach_path', event)">
    <img class="overflow_icon" src="android_moreover_icon"/>
</div>

<script type="text/javascript">

    function showPopup(file_path, event) 
        ScriptToAndroid.showPopupDialog(file_path, pos_x, pos_y);
    
</script>

@JavascriptInterface
public void showPopupDialog(String filePath, int x, int y) 
    //show PopupMenu

【问题讨论】:

有人需要回答吗? 【参考方案1】:

使用 WebViewClient

mWebView = (WebView) findViewById(R.id.webView);
mWebView.setWebViewClient(new WebClient(this));

拦截 shouldOverrideUrlLoading()

public class WebClient extends WebViewClient 

    MainActivity mainActivity;
    public WebClient(MainActivity activity) 
        mainActivity = activity;
    

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
        if(url.contains("xxx")) 
            Log.i("show pop", "xx");
        
        return false;
    

    @Override
    public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) 
        return super.shouldOverrideKeyEvent(view, event);
    

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) 
        super.onPageStarted(view, url, favicon);
    

    @Override
    public void onPageFinished(WebView view, String url) 

    



【讨论】:

他们是如何创建附件视图的,我的意思是他们使用的是自定义 html 布局?

以上是关于android如何在像GMail这样的webview中显示PopupMenu的主要内容,如果未能解决你的问题,请参考以下文章

如何在像 snapchat 故事一样从底部滑动到顶部 android 时打开底部工作表片段

如何在像犰狳这样的库中扩展一个类?

在像 bittorrent 这样的点对点协议的情况下,NAT 遍历是如何工作的。

在像 bittorrent 这样的点对点协议的情况下,NAT 遍历是如何工作的。

如何在像 Java 这样的 Javascript 中创建 Bean 类?

如何在像producthunt这样的NodeJS中定义快速获取数据的路线?