这篇文章主要为大家详细介绍了 Android 实现蒙版弹出框效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
自定义
- 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();
来源: http://www.phperz.com/article/17/0601/335224.html