看到 iOS 上的 textview 长按弹出 复制按钮 我不禁想自己 做一个
我也做出来了 ,但是不完美 跟ios 上的效果 比起来 有两点不到位
也许是 android 自身的特点,也许是我没有找到 更好的方式
先看一下图吧 看看大家喜欢么 然后我再说一下存在的问题
问题1:
// 此处 之所以 给了 PopupWindow 一个 固定的宽度 是因为 我要让 PopupWindow 的中心位置对齐 TextView的中心位置
// 一开始 写成了ViewGroup.LayoutParams.WRAP_CONTENT 但是 各种尝试之后 我没办法 得到 PopupWindow 的宽度 如果你能获得的话 麻烦留言 告诉我
mPopupWindow = new PopupWindow(popupWindow, dipTopx(mContext, 50),ViewGroup.LayoutParams.WRAP_CONTENT);
也就是 把 PopupWindow 的宽度设置成 ViewGroup.LayoutParams.WRAP_CONTENT 我取不到宽度
问题2:
// 下边这行代码 PopupWindow 只会出现一个 因为 当PopupWindow 弹出的之后 焦点只会在PopupWindow上
// 并且 scrollview 不可以滚动
mPopupWindow.setFocusable(true);
也就是如果 写了这行代码 PopupWindow 弹出而且只能弹出一个,并且scrollview 不可以滑动,但是如果不写的话 PopupWindow 可以在每个textview下弹出,虽然能滑动了 但是这不符合常理
注释
// mPopupWindow.setFocusable(true);如效果图
我最终想实现的效果是,PopupWindow 弹出在Textview 的下边 并且在textview 的中间,弹出且只弹出一个,并且scrollView 可以滑动,scrollview 一滑动 PopupWindows 自动 消失 ,如果有朋友能改出来的话,麻烦发个帖子 现在 上源码
点击TextView 弹出复制选项 下载源码