刘思雯qq,华为投资控股有限公司,李昕岳整容
直接上代码:
private void setdialog(){ view view = getlayoutinflater().inflate(r.layout.dialog_country, null); mdialog = new dialog(this); mdialog.setcontentview(view, new layoutparams(layoutparams.fill_parent, layoutparams.wrap_content)); window window = mdialog.getwindow(); windowmanager.layoutparams wl = window.getattributes(); wl.x = 0; wl.y = getwindowmanager().getdefaultdisplay().getheight(); wl.width = viewgroup.layoutparams.match_parent; wl.height = viewgroup.layoutparams.wrap_content; mdialog.onwindowattributeschanged(wl); mdialog.setcanceledontouchoutside(true); mdialog.show(); button btnchina = (button) view.findviewbyid(r.id.btnchina); button btnusa = (button) view.findviewbyid(r.id.btnusa); button btnuk = (button) view.findviewbyid(r.id.btnuk); button btncancel = (button) view.findviewbyid(r.id.btncancel); btnchina.setonclicklistener(new onclicklistener(){ @override public void onclick(view v) { // todo auto-generated method stub mquery.id(r.id.btncountry).gettextview().settext("china"); mdialog.dismiss(); } }); btnusa.setonclicklistener(new onclicklistener(){ @override public void onclick(view v) { // todo auto-generated method stub mquery.id(r.id.btncountry).gettextview().settext("usa"); mdialog.dismiss(); } }); btnuk.setonclicklistener(new onclicklistener(){ @override public void onclick(view v) { // todo auto-generated method stub mquery.id(r.id.btncountry).gettextview().settext("uk"); mdialog.dismiss(); } }); btncancel.setonclicklistener(new onclicklistener(){ @override public void onclick(view v) { // todo auto-generated method stub mdialog.dismiss(); } }); }
首先inflate一个xml文件,产生一个view;再创建一个dialog,设置dialog的view为inflate的view;然后通过windowmanager.layoutparams设置dialog的长度、宽度、显示的位置等等,最后setcanceledontouchoutside(true),点击其他地方可以退出dialog。运行效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android apk 项目一键打包并上传到蒲公英的实现方法
Android 自定义LineLayout实现满屏任意拖动功能的示例代码
android 限制某个操作每天只能操作指定的次数(示例代码详解)
Android 集成 google 登录并获取性别等隐私信息的实现代码
网友评论