Android编程中PopupWindow的用法分析【位置、动画、焦点】

发布时间 - 2026-01-10 23:10:28    点击率:

本文实例讲述了Android编程中popupwindow用法。分享给大家供大家参考,具体如下:

在Android中有很多级别的Window,不同级别的Window按照z-index方向分布。下面看看Android控件(view)PopupWindow的用法(位置、动画、焦点)。

1、创建PopouWindow及相关参数设置

//创建一个包含自定义view的PopupWindow
private PopupWindow makePopupWindow(Context cx) {
  PopupWindow window;
  window = new PopupWindow(cx);
  TextView contentView = new TextView(cx);
  contentView.setGravity(Gravity.CENTER);
  final Resources res = cx.getResources();
  // contentView.setBackgroundColor(R.color.page_window_bgcolor);
  // window.setBackgroundDrawable(new
  // ColorDrawable(res.getColor(R.color.page_window_bgcolor)));
  contentView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
      LayoutParams.WRAP_CONTENT));
  //设置PopupWindow显示和隐藏时的动画
  window.setAnimationStyle(R.style.AnimationFade);
  //设置PopupWindow的大小(宽度和高度)
  window.setWidth(res.getDimensionPixelSize(R.dimen.page_window_width));
  window.setHeight(res.getDimensionPixelSize(R.dimen.page_window_height));
  //设置PopupWindow的内容view
  window.setContentView(contentView);
    //设置PopupWindow外部区域是否可触摸
    window.setOutsideTouchable(true);
  return window;
}

2、PopupWindow显示和隐藏的动画设置

XML配置代码:

<!-- PopupWindow窗口淡入淡出动画 -->
<style name="AnimationFade">
  <item name="android:windowEnterAnimation">@anim/fade_in</item>
  <item name="android:windowExitAnimation">@anim/fade_out</item>
</style>

JAVA代码:

window.setAnimationStyle(R.style.AnimationFade);

3、PopupWindow的焦点设置

window.setFocusable(true); //设置PopupWindow可获得焦点
window.setTouchable(true); //设置PopupWindow可触摸
window.setOutsideTouchable(true); //设置非PopupWindow区域可触摸

4、PopupWindow的显示及显示位置设置

window.showAtLocation();
window.showAsDropDown();

这些方法及相关参数使用将在后面详细介绍。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。


# Android  # PopupWindow  # 位置  # 动画  # 焦点  # Android开发实现popupWindow弹出窗口自定义布局与位置控制方法  # Android开发仿QQ空间根据位置弹出PopupWindow显示更多操作效果  # PopupWindow自定义位置显示的实现代码  # 操作技巧  # 进阶  # 相关内容  # 将在  # 中有  # 感兴趣  # 给大家  # 自定义  # 详细介绍  # 更多关于  # 所述  # 创建一个  # 程序设计  # 操作方法  # 参数设置  # 编程开发  # 讲述了  # window  # cx  # contentView 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 详解Android图表 MPAndroidChart折线图  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  如何在建站宝盒中设置产品搜索功能?  如何用5美元大硬盘VPS安全高效搭建个人网站?  如何用低价快速搭建高质量网站?  装修招标网站设计制作流程,装修招标流程?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  jquery插件bootstrapValidator表单验证详解  如何在阿里云虚拟服务器快速搭建网站?  Java垃圾回收器的方法和原理总结  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  Laravel模型事件有哪些_Laravel Model Event生命周期详解  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  如何在橙子建站中快速调整背景颜色?  如何在建站之星网店版论坛获取技术支持?  如何在自有机房高效搭建专业网站?  Laravel怎么使用artisan命令缓存配置和视图  常州企业网站制作公司,全国继续教育网怎么登录?  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  米侠浏览器网页背景异常怎么办 米侠显示修复  如何在香港免费服务器上快速搭建网站?  在线制作视频网站免费,都有哪些好的动漫网站?  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Laravel怎么上传文件_Laravel图片上传及存储配置  实例解析Array和String方法  Python数据仓库与ETL构建实战_Airflow调度流程详解  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Android利用动画实现背景逐渐变暗  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Swift中swift中的switch 语句  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  详解jQuery中基本的动画方法  Python制作简易注册登录系统  焦点电影公司作品,电影焦点结局是什么?  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  python中快速进行多个字符替换的方法小结  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  开心动漫网站制作软件下载,十分开心动画为何停播?  如何快速查询域名建站关键信息?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?