class="brush:java;gutter:true;">package cn.lxsdb.yyd.app.dialog; import cn.lxsdb.yyd.app.R; import cn.lxsdb.yyd.app.constants.AppIntent; import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.Window; import android.view.WindowManager.LayoutParams; import android.widget.ImageButton; public class RegisterDialog extends Dialog implements android.view.View.OnClickListener { private ImageButton cancel; private ImageButton experienceNow; Context context; View registerView; public RegisterDialog(Context context) { super(context); this.context = context; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); // 这句代码换掉dialog默认背景,否则dialog的边缘发虚透明而且很宽 // 总之达不到想要的效果 getWindow().setBackgroundDrawableResource(android.R.color.transparent); registerView = View.inflate(this.context, R.layout.layout_register_dialog, null); setContentView(registerView); // 这句话起全屏的作用 getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); initView(); initListener(); } @Override public boolean onTouchEvent(MotionEvent event) { this.dismiss(); return super.onTouchEvent(event); } private void initListener() { cancel.setOnClickListener(this); experienceNow.setOnClickListener(this); } private void initView() { cancel = (ImageButton) findViewById(R.id.ib_close); experienceNow = (ImageButton) findViewById(R.id.ib_register_now); } public void onClick(View v) { switch (v.getId()) { case R.id.ib_close: this.dismiss(); break; case R.id.ib_register_now: // 注册 Intent intent = AppIntent.getRegPhoneActivity(this.context); context.startActivity(intent); this.dismiss(); break; } } }
用法如下:
new RegisterDialog(mContext).show();