webview长按弹出菜单
2013-12-24 16:27
120 查看
2012-01-12 16:51
具体实现下面这个函数即可:
//webview 长按事件
webView.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener(){
public void onCreateContextMenu(ContextMenu menu, View arg1,
ContextMenuInfo arg2) {
// TODO Auto-generated method stub
MenuItem.OnMenuItemClickListener handler = new MenuItem.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
// do the menu action
switch(item.getItemId()){
case WEB_FenXiang:
Log.i("you click","分享");
break;
case WEB_XiaZai:
Log.i("you click","下载");
break;
case WEB_FuZhi:
Log.i("you click","复制");
break;
case WEB_AddSQ:
Log.i("you click","增加到书签");
break;
}
return true;
}
};
Log.i("long click","true");
HitTestResult result = ((WebView) arg1).getHitTestResult();
int resultType = result.getType();
if ((resultType == HitTestResult.ANCHOR_TYPE) ||
(resultType == HitTestResult.IMAGE_ANCHOR_TYPE) ||
(resultType == HitTestResult.SRC_ANCHOR_TYPE) ||
(resultType == HitTestResult.SRC_IMAGE_ANCHOR_TYPE)) {
Intent i = new Intent();
Log.i("extrea",result.getExtra());
MenuItem item = menu.add(0, WEB_FenXiang, 0, "分享").setOnMenuItemClickListener(handler);
item.setIntent(i);
item = menu.add(0, WEB_FuZhi, 0, "复制").setOnMenuItemClickListener(handler);
item.setIntent(i);
item = menu.add(0,WEB_XiaZai, 0,"下载").setOnMenuItemClickListener(handler); ;
item.setIntent(i);
item = menu.add(0,WEB_AddSQ, 0,"增加到书签").setOnMenuItemClickListener(handler); ;
item.setIntent(i);
menu.setHeaderTitle(result.getExtra());
}
else if (resultType == HitTestResult.IMAGE_TYPE) {
Log.i("image type","ture");
Intent i = new Intent();
MenuItem item = menu.add(0, 1, 0, "OPEN");
item.setIntent(i);
item = menu.add(0, 2, 0, "图片");
item.setIntent(i);
menu.setHeaderTitle(result.getExtra());
}
}
});
看下效果:
android webview 长按事件处理
webview 中可以增加长按监听事件来弹出菜单。具体实现下面这个函数即可:
//webview 长按事件
webView.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener(){
public void onCreateContextMenu(ContextMenu menu, View arg1,
ContextMenuInfo arg2) {
// TODO Auto-generated method stub
MenuItem.OnMenuItemClickListener handler = new MenuItem.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
// do the menu action
switch(item.getItemId()){
case WEB_FenXiang:
Log.i("you click","分享");
break;
case WEB_XiaZai:
Log.i("you click","下载");
break;
case WEB_FuZhi:
Log.i("you click","复制");
break;
case WEB_AddSQ:
Log.i("you click","增加到书签");
break;
}
return true;
}
};
Log.i("long click","true");
HitTestResult result = ((WebView) arg1).getHitTestResult();
int resultType = result.getType();
if ((resultType == HitTestResult.ANCHOR_TYPE) ||
(resultType == HitTestResult.IMAGE_ANCHOR_TYPE) ||
(resultType == HitTestResult.SRC_ANCHOR_TYPE) ||
(resultType == HitTestResult.SRC_IMAGE_ANCHOR_TYPE)) {
Intent i = new Intent();
Log.i("extrea",result.getExtra());
MenuItem item = menu.add(0, WEB_FenXiang, 0, "分享").setOnMenuItemClickListener(handler);
item.setIntent(i);
item = menu.add(0, WEB_FuZhi, 0, "复制").setOnMenuItemClickListener(handler);
item.setIntent(i);
item = menu.add(0,WEB_XiaZai, 0,"下载").setOnMenuItemClickListener(handler); ;
item.setIntent(i);
item = menu.add(0,WEB_AddSQ, 0,"增加到书签").setOnMenuItemClickListener(handler); ;
item.setIntent(i);
menu.setHeaderTitle(result.getExtra());
}
else if (resultType == HitTestResult.IMAGE_TYPE) {
Log.i("image type","ture");
Intent i = new Intent();
MenuItem item = menu.add(0, 1, 0, "OPEN");
item.setIntent(i);
item = menu.add(0, 2, 0, "图片");
item.setIntent(i);
menu.setHeaderTitle(result.getExtra());
}
}
});
看下效果:
相关文章推荐
- Android实现在webview中长按图片弹出菜单保存图片
- android webview file标签点击弹出选择文件或拍照菜单
- webView第一次长按不弹出菜单的bug
- Android实现在webview中长按图片弹出菜单保存图片
- IOS WebView修改contentInset 导致webview长按弹出菜单跳动的解决方法
- 关于webview点击输入框无法弹出软键盘问题
- 如何关掉webview中select弹出的对话框。
- 点击按钮弹出单选列表对话框和加载Webview
- android 2.2,2.3 webview 无法弹出系统软键盘
- android webview js alert对话框 不能弹出 解决办法
- android webview JS对话框 不能弹出 解决办法
- 仿照QQ消息项左滑弹出选项菜单的自定义ViewGroup:OptionLayout
- 继承webview导致软键盘无法弹出
- android:WebView在没有网络情况下,点击当前页面内链接不跳转并弹出提示框
- android webview无法弹出select选择框
- pbwebfrom采用JS来创建右键弹出菜单
- webview上dialog不弹出的问题
- 如何设置WebView支持js的Alert,Confirm,Prompt函数的弹出提示框.
- iOS用WKWebView与JS交互获取系统图片及WKWebView的Alert,Confirm,TextInput的监听代理方法使用,屏蔽WebView的可选菜单
- WebView 设置软键盘弹出将屏幕上移