蒙版弹出框效果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蒙版弹出框效果相关的知识,希望对你有一定的参考价值。

技术分享

自定义

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();

  

 

以上是关于蒙版弹出框效果的主要内容,如果未能解决你的问题,请参考以下文章

java swing Jpanel 怎么添加一个Jdialog弹出框

toast弹出框效果

安卓开发笔记——PopupWindow,做出如弹出框效果

WPF Popup弹出框箭头自动定位效果

关于弹出框的理念

可消失的弹出框