重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Android中怎么通过自定义TimeButton实现倒计时按钮,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、雅安服务器托管、营销软件、网站建设、孟州网站维护、网站推广。
首先新建一个App.class继承于Application
package com.example.xuboyu.myapplication;/** * 用于存放倒计时时间 * @author bnuzlbs-xuboyu 2017/4/5. */import java.util.Map;import android.app.Application;public class App extends Application { // 用于存放倒计时时间 public static Map
然后编写TimeButton.class继承于Button
package com.example.xuboyu.myapplication;import java.util.HashMap;import java.util.Map;import java.util.Timer;import java.util.TimerTask;import android.annotation.SuppressLint;import android.content.Context;import android.os.Bundle;import android.os.Handler;import android.util.AttributeSet;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;/** * 倒计时按钮 * @author bnuzlbs-xuboyu 2017/4/5. * 注意把该类的onCreate()onDestroy()和activity的onCreate()onDestroy()同步处理 */public class TimeButton extends Button implements OnClickListener { private long lenght = 60 * 1000;// 倒计时长度,这里给了默认60秒 private String textafter = "秒后重新获取~"; private String textbefore = "点击获取验证码~"; private int colorafter; private int colorbefore; private final String TIME = "time"; private final String CTIME = "ctime"; private OnClickListener mOnclickListener; private Timer t; private TimerTask tt; private long time; Map
最后在MainActivity.class中调用
package com.example.xuboyu.myapplication;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;/** * 测试主界面 * @author bnuzlbs-xuboyu 2017/4/5. */public class MainActivity extends Activity implements OnClickListener { private TimeButton v; private TimeButton v2; private TimeButton v3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); v = (TimeButton) findViewById(R.id.button1); v.onCreate(savedInstanceState); v.setTextAfter("秒后重新排队").setTextBefore("点击开始排队").setLenght(15 * 1000); v.setOnClickListener(this); v2 = (TimeButton) findViewById(R.id.button2); v2.onCreate(savedInstanceState); v2.setTextAfter("秒后重新验证").setTextBefore("点击发送验证码").setLenght(10 * 1000); v2.setOnClickListener(this); v3 = (TimeButton) findViewById(R.id.button3); v3.onCreate(savedInstanceState); v3.setTextAfter("秒后重新倒计时").setTextBefore("点击开始倒计时").setLenght(5 * 1000); v3.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "这是处理调用者onclicklistnenr", Toast.LENGTH_SHORT).show(); } @Override protected void onDestroy() { // TODO Auto-generated method stub v.onDestroy(); v2.onDestroy(); super.onDestroy(); }}
其中绿色按钮是使用了自定义样式的Button,使用起来也很简单
首先在drawable中新建一个样式文件mybutton.xml
然后在定义TimeButton的时候如下:
android:background="@drawable/mybutton"
那么定义出来的Button样式就为下图:
记得在AndroidManifest.xml中的Application添加:
android:name=".App"
关于Android中怎么通过自定义TimeButton实现倒计时按钮问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。