页面弹出框一般有两种方式,即Dialog和popupwindow。
这里介绍下Dialog布局:
Dialog dialog = new Dialog(MainActivity.this,R.style.dialog);其中R.style.dialog是自定义的样式
dialog.setContentView(R.layout.dialog);
//设置背景模糊参数
WindowManager.LayoutParams winlp = choose.getWindow().getAttributes();
winlp.alpha = 0.9f;
choose.getWindow().setAttributes(winlp);
choose.show();
获取控件并设置监听
wardrobeLeft1_btn = (Button)choose.findViewById(R.id.wardrobe_up_left_1_btn);
wardrobeLeft1_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "btn1", Toast.LENGTH_SHORT).show();
}
});
这里有个问题,wardrobeLeft1_btn.setOnClickListener(this),这里设置监听不起作用,其中监听是实现OnClickListener接口,目前只用了上述的方法监听事件。
然后,自定义监听MyListener,测试wardrobeLeft1_btn.setOnClickListener(new MyListener),发现监听是起作用的,能够响应事件。
针对上述情况,即弹出框,在父页面上面不能响应OnClickListener接口,需要自定义,具体的原理目前还不清楚,有待考证。。。