popWindow的使用方式

=====


今天说的是比较简单的popwindow,弹出框,这个其实挺简单的主要是有个地方比较可能会出问题就是点击事件


[java] view plain copy
private void initPopWindow(final TextView tview) {  final String[] name = { "份", "斤", "个", "人", "桌", "只", "半份", "小份", "大份",  "两", "半只", "锅", "碗", "壶", "打", "瓶", "杯", "听", "罐", "例", "套",  "串" };  View contentView = LayoutInflater.from(getActivity()).inflate(  R.layout.popwindow, null);  contentView.setBackgroundColor(Color.WHITE);  popupWindow = new PopupWindow(findViewById(R.id.fl_layout), 159, 250);  popupWindow.setContentView(contentView);  TextView textView = (TextView) contentView.findViewById(R.id.text);  textView.setText("单位");  ListView listView = (ListView) contentView.findViewById(R.id.list);  ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),  android.R.layout.simple_list_item_1, name);  listView.setAdapter(adapter);  

`[java] view plain copy
//这个很重要的没有这个 点击popwindow以外的布局pop是不会消失的,本人在此犯了大错切记

popupWindow.setBackgroundDrawable(new PaintDrawable());
[java] view plain copy
//获取焦点  popupWindow.setFocusable(true);
[java] view plain copy
//点击popwindow以外的布局让pop消失
opupWindow.setOutsideTouchable(true);
[java] view plain copy
//是在哪个布局(控件)下面(可以修改上下左右的都可以)
opupWindow.showAsDropDown(tview);
[java] view plain copy//监听 popupWindow消失的监听   popupWindow.setOnDismissListener(new OnDismissListener() {  @Override  public void onDismiss() {  }  });  listView.setOnItemClickListener(new OnItemClickListener() {  @Override  public void onItemClick(AdapterView<?> parent, View view,  int position, long id) {  mUp.setImageDrawable(getActivity().getResources()  .getDrawable(R.drawable.puj));  popupWindow.dismiss();  tview.setText(name[position]);  }  });
}  

一些其他的bug在这里进行汇总:

给显示这个popwindow的activity设置一个theme属性!–这样activity背景会变成黑色需要设置背景色为#ffffff 放置魅族的虚拟按键遮挡


设置成不被键盘挡住

this.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
this.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

popWindow的使用方法相关推荐

  1. Android在初始化时弹出popwindow的方法

    Android中在onCreate()时弹出popwindow,很多人都有过类似的需求吧,但是直接在onCreate()中调用popwindow的showAtLocation()方法是会报异常的,原因 ...

  2. Popwindow学习笔记

    工作中已经使用很多次popwindow了.但是一直没有好好总结,今天乘此机会把popwindow过一遍.在activity中我们可以选择使用popwindow和dialog弹出某一个小界面,但是默认情 ...

  3. 安卓仿微信界面,导航,右上角菜单栏

    下面是安卓开发仿微信界面的代码. 分为3步,第一步是界面的编写,第二步是导航界面,第三步是右上角菜单栏. 开始第一步前先预览一下效果. 第一步,界面. 界面的思路是利用ViewPager+Fragme ...

  4. linux 的vi命令中将当前文件另存为新文件a.log,【转】20条Linux命令面试问答

    问:1 如何查看当前的Linux服务器的运行级别? 答: 'who -r' 和 'runlevel' 命令可以用来查看当前的Linux服务器的运行级别. 问:2 如何查看Linux的默认网关? 答: ...

  5. 代码怎样review?

    1. 说明 一个好的产品开发,一定会有产品迭代这样的过程,而代码Review,即就是代码再次查看评审就显得尤为重要,那么接下来我们就来看下什么是代码Review.何时该进行代码Review.怎样对代码 ...

  6. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  7. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  8. popWindow 出现点击上下空白区域消失点击左右空白区域不消失弹框的处理方法

    一般默认是消失的,但是自己的项目中出现点击上下弹框可以消失,点击左右弹框不消失 最后自己发现了问题如下 popupWindow = new PopupWindow(brief_view, FrameL ...

  9. popwindow 焦点问题,物理返回键截获,软键盘监听问题

    首先是setFocusable这个方法,获取焦点:如果不获取焦点,那么popwindow中的控件都没有办法获取焦点和事件响应问题. 如果获取焦点,那么popwindow就会拦截屏幕上的点击触摸事件以及 ...

最新文章

  1. 把整数转换成2的n次方的和数组
  2. 回溯法实现n份作业分配给n个人完成的问题
  3. Oracle Rman 命令详解(List report backup configure)
  4. VTK:给定颜色,找到对比色用法实战
  5. 0709-To Lower Case(转换成小写字母)
  6. ionic2 html 转义,ionic2 基于ngx-translate实现多语言切换,翻译
  7. 怎么让员工服从管理_职场 | 在职场中,遇到不服从管理的员工,该怎么办呢?...
  8. Cloud一分钟 | 北京13部门召开座谈会,要求阿里京东等平台规范开展双11促销活动...
  9. WordPress一个还不错的404html单页代码
  10. 贪心——跳跃游戏 II(Leetcode 45)
  11. scrollbarStyle属性
  12. 笨办法学 Python · 续 第七部分:大作业
  13. iOS_03_关键字、标识符、注释
  14. 计算机教学怎么为护士服务卫校,【计算机教学论文】中专卫生学校计算机教学论文(共1480字)...
  15. mysql数据库相关基础知识02
  16. 机器学习的一些常识(联合概率分布、模型种类、生成方法与判别方法)
  17. 破解双中台困局:万家数科 x StarRocks 数字化技术实践
  18. 获取ZoneId 收录的时区和偏移量
  19. SQL 模拟生成商品订单表
  20. maps-api-v3_Google Maps API的自适应设计,视网膜图像和调试

热门文章

  1. DDR3协议(一)概述、信号及状态跳转
  2. 重启Oracle数据库shutdown immediate一直无响应
  3. 何以箫声默,默声箫以何?
  4. 单细胞cellranger处理流程
  5. powershell不得不说的秘密,12月17日尽在联科教育!
  6. matlab解方程x 2-x-2=0,matlab用三种方法求解二阶微分方程x''+0.2x'=0.4x=0.2u(t),u(t)是单位阶跃函数,初始状态为0...
  7. 2020年北京林业大学计算机科学与技术 考研复试总结+专业课复习重点
  8. Android AppWidget RemoteView
  9. CVPR2017论文和ICCV2017论文下载地址
  10. GRUB - Debian 6 下无/boot/grub/menu.lst