Android仿QQ长按删除弹出框功能示例
废话不说,先看一下效果图,如果大家感觉不错,请参考实现代码:




对于列表来说,如果想操作某个列表项,一般会采用长按弹出菜单的形式,默认的上下文菜单比较难看,而QQ的上下文菜单就人性化多了,整个菜单给用户一种气泡弹出的感觉,而且会显示在手指按下的位置,而技术实现我之前是使用popupWindow和RecyclerView实现的,上面一个RecyclerView,下面一个小箭头ImageView,但后来发现没有必要,而且可定制化也不高,还是使用多个TextView更好一点。
我封装了一下,只需要一个PopupList.Java文件。源码放在了Git上,git地址:
https://github.com/shangmingchao/PopupList
使用方式,很简单:
只需要调用该方法即可完成绑定:
PopupList popupList = new PopupList(); popupList.init(context, view, popupMenuItemList, OnPopupListClickListener);
例子:
lv_main = (ListView) findViewById(R.id.lv_main);
mDataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, mDataList);
lv_main.setAdapter(mDataAdapter);
popupMenuItemList.add(getString(R.string.copy));
popupMenuItemList.add(getString(R.string.delete));
popupMenuItemList.add(getString(R.string.share));
popupMenuItemList.add(getString(R.string.more));
PopupList popupList = new PopupList();
popupList.init(this, lv_main, popupMenuItemList, new PopupList.OnPopupListClickListener() {
@Override
public void onPopupListClick(View contextView, int contextPosition, int position) {
Toast.makeText(MainActivity.this, contextPosition + "," + position, Toast.LENGTH_LONG).show();
}
});
ImageView indicator = new ImageView(this);
indicator.setImageResource(R.drawable.popuplist_default_arrow);
popupList.setIndicatorView(indicator);
popupList.setIndicatorSize(dp2px(16), dp2px(8));
以上所述是小编给大家介绍的Android仿QQ长按删除弹出框功能示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
一篇文章弄懂Android自定义viewgroup的相关难点
这篇文章主要给大家介绍了关于如何通过一篇文章弄懂Android中自定义viewgroup的一些相关难点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2018-06-06
解决Android MediaRecorder录制视频过短问题
本文主要介绍Android MediaRecorder,在使用MediaRecorder时经常会遇到视频录制太短问题,这里提供解决问题的实例代码以供大家参考2016-07-07
Android App中制作仿MIUI的Tab切换效果的实例分享
这篇文章主要介绍了Android App中制作仿MIUI的Tab切换效果的实例分享,实现具有跟随手指滚动而滚动功能的ViewPagerIndicator,需要的朋友可以参考下2016-04-04


最新评论