本文執行個體為大家分享了Android蒙版彈出框效果的具體代碼,供大家參考,具體内容如下

自定義
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();
以上就是本文的全部内容,希望對大家的學習有所幫助,也希望大家多多支援ASPKU。
注:相關教程知識閱讀請移步到Android開發頻道。