안 드 로 이 드 는 클릭 하여 인증 코드 를 받 은 후 60 초 후에 다시 기능 을 가 져 옵 니 다.

3576 단어 Android인증번호
본 논문 의 사례 는 안 드 로 이 드 가 클릭 하여 인증 코드 를 얻 은 지 60 초 후에 다시 얻 을 수 있 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
상위 코드

/**
 * Created by Xia_  on 2017/5/7.
 */

public class CountDownTimerUtils extends CountDownTimer {
  private TextView mTextView;

  /**
   * @param millisInFuture  The number of millis in the future from the call
   *             to {@link #start()} until the countdown is done and {@link #onFinish()}
   *             is called.
   * @param countDownInterval The interval along the way to receive
   *             {@link #onTick(long)} callbacks.
   */
  public CountDownTimerUtils(TextView textView, long millisInFuture, long countDownInterval) {
    super(millisInFuture, countDownInterval);
    this.mTextView = textView;
  }

  @Override
  public void onTick(long millisUntilFinished) {
    mTextView.setClickable(false); //      
    mTextView.setText(millisUntilFinished / 1000 + "       "); //       
    mTextView.setBackgroundResource(R.drawable.bg_identify_code_press); //      
    SpannableString spannableString = new SpannableString(mTextView.getText().toString());
    ForegroundColorSpan span = new ForegroundColorSpan(Color.RED);
    spannableString.setSpan(span, 0, 2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
    mTextView.setText(spannableString);
  }

  @Override
  public void onFinish() {
    mTextView.setText("       ");
    mTextView.setClickable(true);//      
    mTextView.setBackgroundResource(R.drawable.bg_identify_code_normal);
  }
}
TextView 배경 색
bg_identify_code_press

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <solid android:color="#C0C0C0" /> <!--      -->
  <corners android:radius="7dp" /> <!--    -->
</shape>
bg_identify_code_normal

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <solid android:color="#2BAF2B" /> <!--      -->
  <corners android:radius="7dp" /> <!--    -->
</shape>
레이아웃 코드

 <TextView
    android:id="@+id/tv_yzm"
    android:layout_width="match_parent"
    android:layout_marginTop="50dp"
    android:layout_height="45dp"
    android:background="@drawable/bg_identify_code_normal"
    android:gravity="center"
    android:text="       "
    android:textColor="#FFF"
    android:textSize="15dp" />
프로젝트 코드

 private void initView() {
    tv_yzm = (TextView) findViewById(R.id.tv_yzm);
    tv_yzm.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        CountDownTimerUtils mCountDownTimerUtils = new CountDownTimerUtils(tv_yzm, 60000, 1000);
        mCountDownTimerUtils.start();
      }
    });
  }
효과 도
这里写图片描述
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기