
先给大家展示下效果图,大家觉效果满意,请参考实现代码。
直接上代码:
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(){@OverrIDepublic voID onClick(VIEw v) {// Todo auto-generated method stubmquery.ID(R.ID.btnCountry).getTextVIEw().setText("China");mDialog.dismiss();} });btnUSA.setonClickListener(new OnClickListener(){@OverrIDepublic voID onClick(VIEw v) {// Todo auto-generated method stubmquery.ID(R.ID.btnCountry).getTextVIEw().setText("USA");mDialog.dismiss();} });btnUK.setonClickListener(new OnClickListener(){@OverrIDepublic voID onClick(VIEw v) {// Todo auto-generated method stubmquery.ID(R.ID.btnCountry).getTextVIEw().setText("UK");mDialog.dismiss();} });btnCancel.setonClickListener(new OnClickListener(){@OverrIDepublic voID onClick(VIEw v) {// Todo auto-generated method stubmDialog.dismiss();} });}首先inflate一个xml文件,产生一个vIEw;再创建一个Dialog,设置Dialog的VIEw为inflate的vIEw;然后通过WindowManager.LayoutParams设置Dialog的长度、宽度、显示的位置等等,最后setCanceledOntouchOutsIDe(true),点击其他地方可以退出Dialog。
以上是内存溢出为你收集整理的Android实现悬浮对话框代码全部内容,希望文章能够帮你解决Android实现悬浮对话框代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)