专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
目录
相关文章推荐
开发者全社区  ·  逆天了,OnlyFans杭州岗 ·  7 小时前  
开发者全社区  ·  55 ... ·  昨天  
开发者全社区  ·  逛街遇到两个已婚领导约会 ·  昨天  
开发者全社区  ·  华为的这个瓜好像是真的 ·  昨天  
开发者全社区  ·  吃瓜!华x公司渣男天花板 ·  2 天前  
51好读  ›  专栏  ›  鸿洋

WebView 自定义长按选择,实现收藏 / 分享选中文本

鸿洋  · 公众号  · android  · 2017-06-27 07:29

正文

每日推荐


优雅地刷新Recyclerview(可配合大多数Adapter ; 一行代码刷新相应viewType ; 支持facebook的shimmer加载效果 ; 支持粘性头 ;支持异步刷新,可扩展(如配合RxJava);


支持loadingView,dataView,errorView,emptyView自如切换),刷新模式自由切换;支持注解生成;支持刷新生命周期回调


https://github.com/crazysunj/MultiTypeRecyclerViewAdapter


本文作者


本文由 恋猫月亮 授权发布。

恋猫月亮 的博客地址

http://www.jianshu.com/u/6e613846e1ea


Hello,大家吼,吾就是那个挖坑不止的郭小喵,不管有没有想我(˶‾᷄ ⁻̫ ‾᷅˵)的,这次就分享快速实现一个自定义WebView的小控件吧,效果如下图,废话不多说,我们直接开撸吧。


(PS : ╮(╯▽╰)╭如果你翻一翻我过去的文章,你会发现90%的开场白,前几个问候语都是一样的。)



1

前言


** 戳这里可以去DEMO,来吧 **

https://github.com/CarGuo/CustomActionWebView


相信刚接触android不久的同志们,在面对产品提出的 :


“自定义WebView页面中,长按文本的弹出选项、点击选择后,分享、转发、收藏选择文本”


这样的需求时,第一反应大部分是:这是系统行为,如果实现需要在web端实现。


但是web端实现的局限性太大,曾经也有过监听系统粘贴板,在用户点击复制的时候实现其他的逻辑,但是这样用户体验不好,所以自定义WebView中长按的弹出菜单,并在点击时返回选中文本的小控件闪亮登场┏ (^ω^)=。


2

自定义长按弹出菜单


这一步实现其实很简单,首先创建一个CustomActionWebView继承系统WebView,然后重写下面两个方法。


这两个方法会在用户长按选择web文本时,在弹出菜单前被调用。它们之间的区别在于,第一个方法的菜单弹出方式,指定了默认的type。


我们并不关系弹出的item类型是什么,我们只需要拦截下来ActionMode,然后返回我们自己的自定义ActionMode即可。



这里我们所做的事是:


  • 1、把原本的 actionMode 对象保存到 mActionMode 中。

  • 2、清空原本 actionMode 中的 MenuItem







请到「今天看啥」查看全文