自定义Button之实现点击按钮实现倒计时功能
2017-03-15 23:47
387 查看
其实,实现倒计时功能非常容易,因为Android已经将该功能封装好了我们只要使用就可以了因为简单我这里也不多说直接上代码,
在自定义VIew中我继承Button
代码非常简单里面都有注释
下面是布局文件
Activity中使用方法
是不是非常简单它主要使用了Android内部的一个类CountDownTimer里面需要两个参数第一个是总时间第二个是每次变化的时间数
在自定义VIew中我继承Button
public class CountDownTimerButton extends Button { // 总倒计时时间 private static final long millisInFuture = 60 * 1000; // 每次减去1秒 private static final long countDownInterval = 1000; public CountDownTimerButton(Context context) { this(context, null); } public CountDownTimerButton(Context context, AttributeSet attrs) { this(context, attrs, 0); } public CountDownTimerButton(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void startTiming(){ // 设置按钮为不可点击,并修改显示背景 setEnabled(false); setBackgroundResource(R.drawable.mine_button_shape); // 开始倒计时 new CountDownTimer( millisInFuture, countDownInterval){ @Override public void onTick(long millisUntilFinished) { setText(millisUntilFinished/countDownInterval+"秒"); } @Override public void onFinish() { // 重置文字,并恢复按钮为可点击 setText("重新发送"); setEnabled(true); setBackgroundResource(R.drawable.button_bg_selected); } }.start(); } }
代码非常简单里面都有注释
下面是布局文件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <com.example.as.myview.CountDownTimerButton android:id="@+id/myView" android:layout_width="68dp" android:layout_height="33dp" android:background="#FFA21212" android:gravity="center" android:text="点击获取" android:textColor="#fff" android:textSize="10sp" /> </RelativeLayout>
Activity中使用方法
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final CountDownTimerButton myView = (CountDownTimerButton) findViewById(R.id.myView); myView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { myView.startTiming(); } }); } }
是不是非常简单它主要使用了Android内部的一个类CountDownTimer里面需要两个参数第一个是总时间第二个是每次变化的时间数
相关文章推荐
- 获取验证码按钮,点击后倒计时功能的实现
- 关于在自定义View中添加Button按钮以及实现点击事件
- JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
- 在页面中,我们经常看到,一个button按钮,如果属标点击,就会触发一个窗口的显示,如果二次点击并可以隐藏,那么如何通过JAVA配合html来实现这一功能呢?
- Android自定义TimeButton实现倒计时按钮
- 【原】自定义tableviewcell中多个button点击实现不同功能
- FckEditor工具栏添加自定义按钮,并实现点击按钮的功能
- jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
- Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法。
- Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法。
- Android中ImageButton自定义按钮的按下效果的代码实现方法
- 点击button按钮后,启动一个实现鼠标拖动另一个button的线程 (JFrame/C# WinForm)
- jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
- Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法。 .
- android三档自定义滑动开关,禁止点击功能的实现,用默认的seekbar组件实现
- 任意创建偶数个button,每两个button一行,通过点击任何按钮,可以实现相邻按钮间的颜色转换
- 【原创】Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法。
- QML实现-按钮点击变色功能
- 转载 :Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法。
- 操作TreeView:,选中左边树的节点,点击>>按钮 将选择的节点展现到右边的树中,同时将选择的节点从左边的树中移除。。点击<<实现同样的功能。。。。