博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 中PopupWindow使用 (转)
阅读量:7207 次
发布时间:2019-06-29

本文共 2548 字,大约阅读时间需要 8 分钟。

参考学习后遇到问题:

要引用:有好几个,可以用错误提示解决;

import android.widget.PopupWindow;

import android.widget.Toast;

Activity调用过程 :

首先定义一个BUTTON变量和mContext

    private Button mshowBtn;

    private Context mContext; 

 

  @Override

 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  startService(new Intent(LoginActivity.this, MicroVideoService.class));
  bindXMPPService();
  setContentView(R.layout.loginpage);
  mContext=this;  
  initView();
 }

//指定事件

  mshowBtn= (Button) findViewById(R.id.showbtn);

  mshowBtn.setOnClickListener(mshowBtnOnClickListener);

//实现事件并调用

    private OnClickListener mshowBtnOnClickListener= new OnClickListener(){

 @Override
 public void onClick(View v) {
  showPopWindow(mContext,v);
 }
   
    };

 

 

(转自:import android.widget.PopupWindow;)

Android 中PopupWindow使用。

PopupWindow会阻塞对话框,要在外部线程 或者 PopupWindow本身做退出才行。

mypopWindow.xml的Layout设计如下

<?xml version=
"1.0"
encoding=
"utf-8"
?>
<LinearLayout xmlns:android=
""
    
android:layout_width=
"fill_parent"
    
android:layout_height=
"fill_parent"
    
android:background=
"#259"
    
android:orientation=
"vertical"
>
 
    
<TextView
        
android:id=
"@+id/textView1"
        
android:layout_width=
"wrap_content"
        
android:layout_height=
"wrap_content"
        
android:text=
"Here is Pop Window"
/>
 
    
<Button
        
android:id=
"@+id/button1"
        
android:layout_width=
"wrap_content"
        
android:layout_height=
"wrap_content"
        
android:text=
"OK"
/>
 
    
<Button
        
android:id=
"@+id/button2"
        
android:layout_width=
"wrap_content"
        
android:layout_height=
"wrap_content"
        
android:text=
"Cancle"
/>
 
</LinearLayout>
 
MainActivity.java文件。

 在MainActivity的Button按钮单击,然后显示PopupWindow。

 

private
void
showPopWindow(Context context, View parent)
    
{      
        
LayoutInflater inflater = (LayoutInflater)             
                
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);    
        
final
View vPopWindow=inflater.inflate(R.layout.mypopwindow,
null
,
false
); 
        
//宽300 高300           
        
final
PopupWindow popWindow =
new
PopupWindow(vPopWindow,
300
,
300
,
true
);
        
Button okButton = (Button)vPopWindow.findViewById(R.id.button1);
        
okButton.setOnClickListener(
new
View.OnClickListener() {
             
            
@Override
            
public
void
onClick(View v) {
                
// TODO Auto-generated method stub
                
Toast.makeText(MainActivity.
this
,
"You click OK"
, Toast.LENGTH_SHORT).show();
            
}
        
});
         
        
Button cancleButton = (Button)vPopWindow.findViewById(R.id.button2);
        
cancleButton.setOnClickListener(
new
View.OnClickListener() {
             
            
@Override
            
public
void
onClick(View v) {
                
// TODO Auto-generated method stub
                
popWindow.dismiss();
//Close the Pop Window
            
}
        
});
         
        
popWindow.showAtLocation(parent, Gravity.CENTER,
0
,
0
);
         
         
    
}
 
效果图如下:最后显示是剧中的,这里我只是截取了部分图片。
 
单击Ok按钮显示You click OK信息。单击取消,则关闭PopupWindow.

转载地址:http://hboum.baihongyu.com/

你可能感兴趣的文章
LeetCode-82-Remove Duplicates from Sorted List II
查看>>
ASP.NET XML读取、增加、修改和删除操作
查看>>
struts2将servlet对象注入到Action中
查看>>
快速排序
查看>>
const变量存储位置及const指针
查看>>
MFC 加载链接库(DLL)错误
查看>>
线性代数的视角理解LSR(least square regression)的参数评估算法本质
查看>>
HDU-2897 邂逅明下
查看>>
牛客暑假多校第二场 F trade
查看>>
Java 8 中的 Streams API 详解
查看>>
一道看似简单的sql需求(转)
查看>>
Eclipse+Maven命令创建webapp项目<三>
查看>>
Fiddler 教程(转)
查看>>
[十二省联考2019] 异或粽子
查看>>
CF360B Levko and Array (二分查找+DP)
查看>>
RQNOJ659 计算系数
查看>>
HTML实体符号查询
查看>>
【转】 ASP.NET网站路径中~(波浪线)解释
查看>>
oracle根据Date字段查询区间数据(转)
查看>>
[C语言] 数据结构-算法效率的度量方法-事前分析估算方法
查看>>