Android自定义ProgressBar实现漂亮的进度提示框

在android智能平板设备应用中,一项耗时的操作总要有个提示进度的框来提高用户的操作体验,操作进度提示框就显得很常用了。

系统自带的有进度条ProgressBar,一般用于显示一个过程,例如数据加载过程,文件下载进度,音乐播放进度等。但是样式太单一不好看,因此有必要自定义一个方便使用。

以下记录下封装的进度展示对话框ProgressDialog。

先来展示下效果图:

Android自定义ProgressBar实现漂亮的进度提示框_第1张图片

需要准备好素材。如上图中的那个旋转的圈圈,素材图是一张png图片,分辨率114x114:

Android自定义ProgressBar实现漂亮的进度提示框_第2张图片

如何实现自动旋转的效果呢,使用android的Rotate动画。

在res/drawable下建一个rotate_dialog_progress.xml文件,内容如下:

这里面的几个属性解释:

 

接下来在styles.xml文件中定义一个样式文件供使用。内容如下:

然后就可以这样使用我们自定义的progressbar啦:

这还不算完,一般progressbar要放在dialog对话框中来用。看下对框框dialog的样式dialog_progress.xml:


 
    
 
    
 

为了使Dialog的背景和边框的棱角好看,这里自定义了Dialog的背景。

android:background="@drawable/corner_bg_dialog_progress"

它就是一个放在res/drawable文件夹下的一个自定义shape。

corner_bg_dialog_progress.xml文件内容如下:


    
    

最后,实现一个Dialog并加载这个dialog_progress.xml布局,显示出来即可。

在需要提示进度的地方,showProgressDialog。在结束时closeProgressDialog。

override fun showProgressDialog(msg: String) {
                if (dialogProgress == null) {
                    dialogProgress = DialogProgress(mPresentation!!.context, activity.getString(R.string.loading), false)
                }
                dialogProgress!!.setMessage(msg)
                dialogProgress!!.show()
            }
 
override fun closeProgressDialog() {
                dialogProgress?.dismiss()
            }

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

你可能感兴趣的:(Android自定义ProgressBar实现漂亮的进度提示框)