PopupWindow使用

本文介绍了Android中PopupWindow的使用方法,包括如何创建及显示PopupWindow,两种不同的弹出方式(下拉方式与指定位置),以及如何取消弹出。此外,还对比了PopupWindow与Dialog的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
获得 LayoutInflater 实例的三种方式
 
1.LayoutInflater inflater = getLayoutInflater();  //调用Activity的getLayoutInflater()
 
2.LayoutInflater localinflater =(LayoutInflater)context.getSystemService
 
                                                 (Context.LAYOUT_INFLATER_SERVICE);
 
3. LayoutInflater inflater = LayoutInflater.from(context);
 
PopupWindow 作为一种用户提醒 而且其开销也比Activity要小,PopupWindow有点类似于Dialog,相同点在于都是弹出窗口,并且都可以对其进行自定义显示,并且里面的监听组件,进行相应的操作,但它与Dialog又有很大的区别,PopupWindow只是弹出窗口,不会使宿主Activity组件失去焦点,也就是说PopupWindow弹出后,你仍可以与宿主Activity进行交互,Dialog却不能做到这一点
  注意的事:PopupWindow 显示只能通过事件触发,如onclick事件,不能在非用户事件中显示示,否则可能报windowleaked的
弹出:有2种方式:一个是下拉方式 一个是指定位置
 
下拉:
     findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {  
                    
                 public void onClick(View v) {  
                         // TODO Auto-generated method stub  
                     pop.showAsDropDown(v);  
                 }  
          
         }); 
 
- 指定位置:
 
 
     findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {  
                    
                 public void onClick(View v) {  
                         // TODO Auto-generated method stub  
                     pop.showAtLocation(findViewById(R.id.main), Gravity.CENTER, 20, 20);  
                        
                 }  
 
. 取消
 
     view.findViewById(R.id.helloButton).setOnClickListener(new View.OnClickListener() {  
                    
                 public void onClick(View v) {  
                         // TODO Auto-generated method stub  
                     pop.dismiss();  
                        
                 }  
          
         }); 
          
         });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值