android自定义模态框,安卓开发自定义弹出框的简单方式(纯代码布局)

弹出框在安卓开发中是经常会用到的,如果单纯的只是用安卓自带的对话框模式肯定是十分单调的。

再来我看来安卓一定有一个功能让我们像Layout添加Layout一样把Layout添加到提示框里面。

所以忘了搜了一下,终于找到了一种不错的方式,在此实验并记录一下。

至于实在activity里面定义还是在实现Layout的类中定义都是可以的

添加如下方法,在监听时间里面直接调用该方法就可以了。

private void openOptionsDialog() {

// 生成对话框

AlertDialog dlg = new AlertDialog.Builder((Context)activity).create();

//显示对框框

dlg.show();

Window window = dlg.getWindow();

//添加自定义的Layout以及布局方式,注意传入dlg对象本身方便关闭该提示框

window.addContentView(new MyDialog(activity,dlg),new LayoutParams(-1, -1));

}

然后定义一个弹出框,集成RelativeLayout

public class MyDialog extends RelativeLayout{

private AlertDialog dlg;

private Context context;

private Button canel;

public MyDialog(Context context,AlertDialog dlg) {

super(context);

this.context=context;

// TODO Auto-generated constructor stub

this.dlg=dlg;

init();

}

private void init() {

//这里可以任意的写入一些控件

//添加取消按钮

canel=new Button(context);

canel.setText("×");

LayoutParams lp=new LayoutParams(10,10);

lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);

addView(canel, lp);

canel.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

System.out.println("取消弹出框");

dlg.cancel();

}

});

}

}然后就大功告成了。

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值