com.dd.CircularProgressButton (代码家的一个button)

裴宜春
2023-12-01

最近学了好多第三方的类库,用起来特别炫酷,故此来分享给像我一样的新手

CircularProgressButton是大神 林惠文排名最高的一个,大概在28名左右,这个控件有点特殊,用起来效果挺炫的,

它有四个状态,默认时是单纯的一个button,但在运行时,它会变成一个progress在不停的转,

成功时,它会跳跳转为一个绿色背景中间一个打钩的状态,失败时呈现一个红色背景打叉的状态。


布局文件

  • <com.dd.CircularProgressButton
  •             android:layout_width="300dp"
  •             android:layout_height="40dp"
  •             app:cpb_iconComplete="@drawable/ic_cpb_action_accept"//成功时的状态图标
  •             app:cpb_textError="@drawable/ic_cpb_action_cancel"//失败时的状态图标
  •             app:cpb_textIdle="登录" />//默认文字,注意:text在这里没用了
  • 四个状态的使用
  • btnlogin.setIndeterminateProgressMode(true);
     btnlogin.setProgress(50);//运行状态
    btnlogin.setProgress(100);//成功状态
  • btnlogin.setProgress(-1);//失败状态
  • btnlogin.setProgress(0);//默认状态
  • 当处于失败状态是,如果按钮一直处于失败状态,给用户的体验就会不好,
  • 因此我们要给它一个时间,例如:登录失败时,过两秒它就又变成默认状态
  • 所以我给他起了一个线程
  • handler.postDelayed(new Runnable() {

                @Override
                public void run() {
                    btnlogin.setProgress(0);
                }
            }, 2000);//在失败时。隔两秒钟自动回到默认状态
 类似资料: