一、概述
在Android中弹出式菜单(以下称弹窗)是使用十分广泛的一种菜单呈现方式,弹窗为用户交互提供了便利。关于弹窗的实现大致有以下两种方式AlertDialog和PopupWindow,当然网上也有使用Activity并配合Dialog主题的方式实现弹窗,有兴趣的朋友也可以去研究一下。对于AlertDialog和PopupWindow两者最主要的区别就是显示的位置问题:
(1)AlertDialog在位置显示上是固定的
(2)PopupWindow相对比较随意,能够在主屏幕的任意位置显示。
二、效果图
三、代码
(1)MainActivity中的代码:
public class MainActivity extends AppCompatActivity { private int x; private int y; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onTouchEvent(MotionEvent event) { // 获得点击屏幕的坐标 x = (int) event.getX(); y = (int) event.getY(); // 加载PopupWindow 对应的界面 LayoutInflater inflater = getLayoutInflater(); final View popupView = inflater.inflate(R.layout.popup_entry_layout,null); // 创建PopupWindow 对象 final PopupWindow popupWindow = new PopupWindow(popupView,400,100); // 第二、第三个参数用来设置弹窗的大小,也可以用WRAP_CONTENT // 设置位置 popupWindow.showAtLocation(popupView, Gravity.NO_GRAVITY,x,y); new Handler().postDelayed(new Runnable() { @Override public void run() { // 1秒后关闭该弹窗 popupWindow.dismiss(); } },1000); return true; }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- Java 中魔法值究竟是什么含义?(java魔法值是什么意思)
- 在 Java 开发中,Javase 究竟扮演着怎样的角色?(Javase在Java开发中扮演什么角色)
- 在 Java 中如何实现 base64 到 blob 的转换?(Java中base64转blob怎么实现)
- Java 中 clazz 类创建的方式有哪些?(java clazz类创建的方式是什么)
- 如何正确使用 Java PersistenceContext 类?实例详解!(Java PersistenceContext类使用实例)
- Java 中 Quartz 框架究竟是什么?(java中quartz是什么框架)
- PHP数据类型转换对存储方式的影响
- Java House 有哪些具体的方法?(Java House的方法有哪些)
- Java 如何读取 txt 文件内容并进行处理?(java怎么读取txt文件内容并处理)
- JavaEx 的性能表现究竟如何?(javaex的性能表现如何)
猜你喜欢
AI推送时光机PopupWindow自定义位置显示的实现代码
后端开发2023-05-30
Android自定义popupwindow实例代码
后端开发2022-06-06
Swift代码自定义UIView实现示例
后端开发2024-04-02
Android编程实现的自定义弹窗(PopupWindow)功能示例
后端开发2022-06-06
C#实现自定义屏保的示例代码
后端开发2022-12-31
Android 自定义缩短Toast显示时间的实例代码
后端开发2022-06-06
Android自定义控件单位尺寸实现代码
后端开发2022-06-06
Python+Flask实现自定义分页的示例代码
后端开发2024-04-02
Flutter实现自定义筛选框的示例代码
后端开发2024-04-02
Android实现自定义加载框的代码示例
后端开发2022-06-06
Android 自定义dialog的实现代码
后端开发2022-06-06
Flutter实现自定义搜索框AppBar的示例代码
后端开发2024-04-02
Android listview如何实现定位到上次显示的位置
后端开发2023-05-30
C/C++ QT实现自定义对话框的示例代码
后端开发2024-04-02
Android ScrollView显示到底部或任意位置实现代码
后端开发2022-06-06
Python实现自定义异常堆栈信息的示例代码
后端开发2024-04-02
C++实现自定义撤销重做功能的示例代码
后端开发2022-12-15
Android自定义AvatarImageView实现头像显示效果
后端开发2023-05-30
Asp.net Core中实现自定义身份认证的示例代码
后端开发2022-06-07
咦!没有更多了?去看看其它编程学习网 内容吧