安卓Dialog

 (1) Dialog创建时是要先构造一个Builder,然后使用Builder对象设置Dialog,然后builder创建dialog,最后显示dialog即可。例如:

AlertDialog.Builder builder = new   AlertDialog.Builder(this);

builder.setTitle("这是一个提示");

builder.setMessage("这是一个提示窗口");

builder.setPositiveButton("确定", null);

AlertDialog dialog = builder.create();

dialog.show();

(2)也可以使用链式编程,链式编程,每调用一个方法都会返回修改后的builder,创建dialog后会返回一个AlertDialog的实例。例如:

new AlertDialog.Builder(this).setTitle("提示").setMessage("两个按钮的提示窗").setNegativeButton("确定",null).setPositiveButton("取消",null).create().show();(3)弹出窗设置按钮时需要给按钮设置监听器,例如:

203937_llsF_2896911.png

总结:

1.AlertDialog.Builder创建builder,

2.builder调用setTitle()设置弹出窗标题,

3.调用setItem(CharSequence[] items, OnClickListener listener)为弹出窗设置内容,监听器用于监听点击每列时需要做的操作。

4.调用setSingleChoiceItems(CharSequence[] items, int checkedItem, OnClickListener listener)方法设置单选内容,当第二个参数为-1时表示没有选中任何内容。

5.调用setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, OnMultiChoiceClickListener listener)方法设置多选内容,当没有选中任何内容时第二个参数将为空。

6.调用setPositiveButton(),setNegativeButton(),

setNeutralButton()等方法为弹出窗设置按钮。

7.调用builder.create()方法创建弹出窗,调用show()方法显示弹出窗

8.自定义内容的弹出窗:builder.setView(view);使用builder.setView方法为Dialog设置自定义的布局

自定义样式的弹出窗:首先创建一个Dialog,传递自定义主题,然后调用setContentView()方法为其设置布局,调用dialog.getWindow().getAttributes();方法可以得到dialog的一些窗口参数,例如宽高等,最后还可以为dialog设置显示动画等。

9.日期弹出窗:使用DatePickerDialog创建dialog。

10.时间弹出窗:使用TimePickerDialog创建dialog。

11.进度弹出窗:使用ProgressDialog创建dialog,setCanceledOnTouchOutside(true);触摸弹出窗以外的位置窗口是否消失

setCancelable(false); 设置弹出窗是否可以取消 setProgressStyle();设置滚动条样式

12.PopupWindow:可以创建类似对话框风格的窗口,需以下两步:调用PopupWindow构造器创建实例;调用showAsDropDown(view);方法将PopupWindow作为view组件的下拉组件显示出来,或调用showAsLocation()方法在特定位置显示PopupWindow.

                                                             ----------------这些博客都是我之前在学习过程中自书中摘出的重点,以及一些前辈总结的经验,外加一些自己的感悟,如果有前辈看到,有不对的地方希望大家指出,非常感谢。

转载于:https://my.oschina.net/qinqinyuan/blog/743886

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值