Android文本长按qq风格,Android仿QQ长按删除弹出框功能示例

废话不说,先看一下效果图,如果大家感觉不错,请参考实现代码:

3f199df8eb15cc2cae5fa7f6ada1cff2.png

42bcc3f57b2a9d8976046a6e13f193fc.png

731f45268d92c96848fdb5a5408d7092.png

84db2f73134761bb7b9fc79824e4d25e.png

对于列表来说,如果想操作某个列表项,一般会采用长按弹出菜单的形式,默认的上下文菜单比较难看,而QQ的上下文菜单就人性化多了,整个菜单给用户一种气泡弹出的感觉,而且会显示在手指按下的位置,而技术实现我之前是使用popupWindow和RecyclerView实现的,上面一个RecyclerView,下面一个小箭头ImageView,但后来发现没有必要,而且可定制化也不高,还是使用多个TextView更好一点。

我封装了一下,只需要一个PopupList.Java文件。源码放在了Git上,git地址:

使用方式,很简单:

只需要调用该方法即可完成绑定:

PopupList popupList = new PopupList();

popupList.init(context, view, popupMenuItemList, OnPopupListClickListener);

例子:

lv_main = (ListView) findViewById(R.id.lv_main);

mDataAdapter = new ArrayAdapter(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长按删除弹出框功能示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值