直接上代码:
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对话框
, android悬浮对话框
android悬浮框
android 悬浮窗实现、android 悬浮球实现、android 悬浮按钮实现、android 实现悬浮控件、android 悬浮通知实现,以便于您获取更多的相关知识。
时间: 2024-09-26 21:37:44