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();
}
});
}
}然后就大功告成了。
總結
以上是生活随笔為你收集整理的android自定义模态框,安卓开发自定义弹出框的简单方式(纯代码布局)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关键字搜索 c语言,c语言-以关键字搜索
- 下一篇: android自定义绘制二叉树,安卓数据