欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现蒙版弹出框效果

程序员文章站 2023-12-04 17:34:10
本文实例为大家分享了android蒙版弹出框效果的具体代码,供大家参考,具体内容如下 自定义 package cn.lxsdb.yyd.app.dialog...

本文实例为大家分享了android蒙版弹出框效果的具体代码,供大家参考,具体内容如下

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。