小视频源码,自定义倒计时,结束后进入重新发送界面

小视频源码,自定义倒计时,结束后进入重新发送界面

 

1
    <Button   <br>        android:id="@+id/rebind_sms_btn"<br>        android:layout_width="120dp"<br>        android:layout_height="45dp"<br>        android:layout_marginLeft="5dp"<br>        android:layout_marginRight="5dp"<br>        android:background="@null"<br>        android:gravity="center"<br>        android:text="获取短信验证码"<br>        android:textColor="#059CD4"<br>        android:textSize="16sp" />

​自定义倒计时时间类:

 

1
import android.os.CountDownTimer;<br>import android.widget.TextView;<br>public class MyCountTimer extends CountDownTimer {<br>    public static final int TIME_COUNT = 121000;// 时间防止从119s开始显示(以倒计时120s为例子)<br>    private TextView btn;<br>    private int endStrRid;<br>    private int normalColor, timingColor;// 未计时的文字颜色,计时期间的文字颜色<br>    /**<br>     * 参数 millisInFuture 倒计时总时间(如60S,120s等) 参数 countDownInterval 渐变时间(每次倒计1s)<br>     * <br>     * 参数 btn 点击的按钮(因为Button是TextView子类,为了通用我的参数设置为TextView)<br>     * <br>     * 参数 endStrRid 倒计时结束后,按钮对应显示的文字<br>     */<br>    public MyCountTimer(long millisInFuture, long countDownInterval,<br>            TextView btn, int endStrRid) {<br>        super(millisInFuture, countDownInterval);<br>        this.btn = btn;<br>        this.endStrRid = endStrRid;<br>    }<br>    /**<br>     * <br>     * 参数上面有注释<br>     */<br>    public MyCountTimer(TextView btn, int endStrRid) {<br>        super(TIME_COUNT, 1000);<br>        this.btn = btn;<br>        this.endStrRid = endStrRid;<br>    }<br>    public MyCountTimer(TextView btn) {<br>        super(TIME_COUNT, 1000);<br>        this.btn = btn;<br>        this.endStrRid = R.string.txt_getMsgCode_validate;<br>    }<br>    public MyCountTimer(TextView tv_varify, int normalColor, int timingColor) {<br>        this(tv_varify);<br>        this.normalColor = normalColor;<br>        this.timingColor = timingColor;<br>    }<br>    // 计时完毕时触发<br>    @Override<br>    public void onFinish() {<br>        if (normalColor > 0) {<br>            btn.setTextColor(normalColor);<br>        }<br>        btn.setText(endStrRid);<br>        btn.setEnabled(true);<br>    }<br>    // 计时过程显示<br>    @Override<br>    public void onTick(long millisUntilFinished) {<br>        if (timingColor > 0) {<br>            btn.setTextColor(timingColor);<br>        }<br>        btn.setEnabled(false);<br>        btn.setText(millisUntilFinished / 1000 + "秒");<br>    }<br>}

使用:

 

1
<br>public class MainActivity extends Activity {<br>    private Button rebind_sms_btn;<br>    @Override<br>    protected void onCreate(Bundle savedInstanceState) {<br>        super.onCreate(savedInstanceState);<br>        setContentView(R.layout.activity_main);<br>        rebind_sms_btn=(Button) findViewById(R.id.rebind_sms_btn);<br>        rebind_sms_btn.setOnClickListener(new OnClickListener() {<br>            @Override<br>            public void onClick(View v) {<br>                                        //  txt_getMsgCode_validate//定义为重新发送<br>                MyCountTimer myCountTimer=new MyCountTimer(60000, 1000,rebind_sms_btn,R.string.txt_getMsgCode_validate );<br>                myCountTimer.start();<br>            }<br>        });<br>    }<br>}

以上就是 小视频源码,自定义倒计时,结束后进入重新发送界面,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(95)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示