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

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

其实这些简单的View还是非常的简单的...虽然看起来代码量减少的并不是非常的多,但是如果对于更加复杂的操作...框架中优化好的方法还是非常的好用的...即减少了代码的冗余度,而且还实现了更多的功能...

  还是看一下源码的实现过程吧...

 Toast框的源码实现过程...我们可以看到,框架中的方法把原生态的方法进行了封装,我们只需要传递相关参数就可以直接使用Toast框...其实源码内部还有showToastInThread()的源码..通过开启一个新的线程

/**
 * 描述:Toast提示文本.
 * @param text 文本
 */
 public void showToast(String text) {
 Toast.makeText(this,""+text, Toast.LENGTH_SHORT).show(); //这里已经把这个方法封装好了...我们只需要传递需要显示的文本就行了...
 }
 
 /**
 * 描述:Toast提示文本.
 * @param resId 文本的资源ID
 */
 public void showToast(int resId) {
 Toast.makeText(this,""+this.getResources().getText(resId), Toast.LENGTH_SHORT).show(); //这种方法则是通过resID来设置需要显示的文本...
 }

  进度框的源码实现过程...源码非常的简单...我们在使用一个进度条的时候只需要调用这两种方法就可以了...

/**
 * 描述:显示进度框.
 */
 public void showProgressDialog() {
 showProgressDialog(null); //没有显示进度的进度框..
 }
 
 /**
 * 描述:显示进度框.
 * @param message the message
 */
 public void showProgressDialog(String message) {
 // 创建一个显示进度的Dialog
 if(!AbStrUtil.isEmpty(message)){
  mProgressMessage = message; //设置进度框显示的信息...
 }
 if (mProgressDialog == null) {
  mProgressDialog = new ProgressDialog(this);
  // 设置点击屏幕Dialog不消失 
  mProgressDialog.setCanceledOnTouchOutside(false);
 }
 mProgressDialog.setMessage(mProgressMessage);//设置进度框显示的消息..
 showDialog(AbConstant.DIALOGPROGRESS);
 }

  弹出框的源码我就不进行粘贴了,由于源码写的确实有点多...这里就只粘贴一下封装的方法...