Android AndBase框架内部封装实现进度框、Toast框、弹出框、确认框

2019-12-10 18:34:55王振洲

  这个方法显示的对话框是一个信息弹出框,没有按钮,只是进行信息的提示...id的作用设置弹出框显示的位置...View表示需要显示的视图...这样就创建了一个弹出框在指定的位置进行显示...

public void showDialog(int id,View view) {} 
  上面方法的执行过程中,会调用setDialogLayoutParams()函数去设置相关属性,设置弹出框布局的参数,也就是弹出框如何在屏幕上更好的显示的一个设置...

 这是源码的调用过程,看起来并不是很难理解...

private void setDialogLayoutParams(Dialog dialog,int dialogPadding,int gravity){
 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //设置没有标题..
 Window window = dialog.getWindow(); //获取窗口...
 WindowManager.LayoutParams lp = window.getAttributes();//获取窗口属性...
 //此处可以设置dialog显示的位置
 window.setGravity(gravity); //设置窗口的对其方式...
 //设置宽度
 lp.width = diaplayWidth-dialogPadding; 
 lp.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_DIALOG;
 //背景透明
 //lp.screenBrightness = 0.2f;
 lp.alpha = 0.8f;
 lp.dimAmount = 0f;
 window.setAttributes(lp); 
 // 添加动画
 window.setWindowAnimations(android.R.style.Animation_Dialog); 
 // 设置点击屏幕Dialog不消失 
 dialog.setCanceledOnTouchOutside(false);

 }

这个方法的弹出框是一个带有按钮的确认框,title和msg表示对话框的标题内容和提示内容...以及点击确认按钮时发生的监听事件的传递...

public void showDialog(String title,String msg,DialogInterface.OnClickListener mOkOnClickListener) {} 
  这个方法的弹出框和上面的唯一区别就是,弹出框的内容不是指定的字符串,而是一个我们自定义的一个视图..

public AlertDialog showDialog(String title,View view,DialogInterface.OnClickListener mOkOnClickListener) {}
  弹出框基本都是这些模式...源码的实现非常的简单...原理都是对那些基本函数的一些封装...剩下的几个就不粘贴了..万变不离其宗。

以上就是本文的全部内容,希望对大家的学习有所帮助。



注:相关教程知识阅读请移步到Android开发频道。