- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android 使用PopupWindow实现弹出更多的菜单
Android 使用PopupWindow实现弹出更多的菜单
最近想要做一个弹出更多的菜单,而原生的弹出菜单却不是我们想要的效果,所以必然要自定义菜单咯。本人也是借鉴网上的资料进行封装的,感觉还蛮不错的。
原生的菜单如下图:
是不是看到这里之后,对比可知,原生的效果不太理想,所以还是再自己定义吧!
源码下载
1、PopupWindow可以说是一个浮动在Activity之上的容器,通常用来显示自定义的视图。弹出菜单的封装PopMenuMore
[java] view plain copy 在CODE上查看代码片派生到我的代码片
/**
* 对弹出菜单的封装.
* /maosidiaoxian/article/details
* Author: msdx (645079761@)
* Time: 14-6-13 下午1:51
*/
public class PopMenuMore {
/**
* 上下文.
*/
private Context mContext;
/**
* 菜单项
*/
private ArrayListPopMenuMoreItem mItemList;
/**
* 列表适配器.
*/
private BaseAdapter mAdapter;
/**
* 菜单选择监听.
*/
private OnItemSelectedListener mListener;
/**
* 下角图标
*/
private ImageView cornerIcon;
/**
* 列表.
*/
private ListView mListView;
/**
* 弹出窗口.
*/
private PopupWindow mPopupWindow;
public PopMenuMore(Context context) {
mContext = context;
mItemList = new ArrayList();
View view = onCreateView(context);
view.setFocusableInTouchMode(true);
mAdapter = onCreateAdapter(context, mItemList);
cornerIcon = findCornerView(view);
mListView = findListView(view);
mListView.setAdapter(mAdapter);
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView? parent, View view, int position, long id) {
PopMenuMoreItem item = (PopMenuMoreItem) mAdapter.getItem(position);
if (mListener != null) {
mListener.selected(view, item, position);
}
mPopupWindow.dismiss();
}
});
view.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEven
您可能关注的文档
- Altium Designer winter 电路设计案例教程1.ppt
- AMS安装配置.ppt
- AMT 整车应用技术评估.ppt
- AMS技术发展_EDDL和FDT的发展方向.ppt
- Android -- Android Init进程的处理流程分析.doc
- Android -- Audio Native服务之启动流程分析(一).doc
- ancient greece西方文明史 古希腊 课件.ppt
- android 自定义圆角头像以及使用declare-styleable进行配置属性解析.doc
- ALOS卫星介绍.ppt
- Android自动化测试UIautomator-UiSelector.pptx
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
最近下载
- 地方政府大数据发展的现实与理想 .pdf
- 节能降碳知识竞赛.docx VIP
- 15D502 等电位联结安装(标准图集).pdf VIP
- 2024-2025学年北京海淀区七年级初一(上)期末历史试卷(含答案).pdf
- 矿井通风课程设计.pdf VIP
- 文华财经期货软件指标公式源码精准多空买卖点.doc VIP
- 2023-2024学年新疆乌鲁木齐市经开区八年级上学期期末数学试题及答案.pdf VIP
- 北京市海淀区2024-2025学年九年级上学期期末语文试题(含答案与解析).pdf VIP
- 医院食堂员工服务礼仪.pptx VIP
- Dify平台构建简单Agent全指南:零基础也能轻松上手.docx VIP
原创力文档


文档评论(0)