Главная » Работаем с таймером обратного отсчета CountDownTimer | |
В этом небольшом уроке мы научимся использовать в своем приложении такую простую и распространенную штуку, как CountDownTimer - счетчик обратного отсчета. Этот элемент Android интерфейса, как и любой другой мобильной или компьютерной ОС каждому из нас знаком до боли. Сколько времени вы убили глядя на надпись в файлообменнике - ссылка будет доступна через 10, 9, 8... Теперь пришло время и нам научиться делать в своем приложении такую пакость. Создаем новый проект, выбираем Blank Activity и Android 2.2+. Пользовательский интерфейс нашего сегодняшнего приложения будет прост как дважды два - всего лишь один элемент TextView, в котором будет происходить текстовое отображение обратного отсчета. Открываем файл activity_main.xml и добавляем туда элемент TextView:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:context=".ImagePickerActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv"
android:layout_gravity="center"
android:textSize="13pt"/>
</LinearLayout>
Создание таймера обратного отсчета совсем не сложно, для этого используется специальный встроенный класс под названием CountDownTimer. При настройке таймера такого типа используется всего 2 переменные: время до окончания обратного отсчета и шаг, с которым происходит отсчет, все это в миллисекундах. В классе CountDownTimer используется два метода: onTick () и onFinish (). В методе onTick () происходит настройка обновления текстовой информации о изменении показаний таймера, а в методе onFinish () происходит настройка желаемых действий после окончания обратного отсчета (например, подождите 3, 2, 1... Скачать файл, или переход на другой экран, что то в этом роде). Мы сделаем простейшую программу, в которой таймер обратного отсчета будет отсчитывать 20 секунд, после чего в элементе TextView будет появляться надпись "Бабах!" (как будто мы сделали таймер на бомбе). Чтобы это сотворить, открываем файл MainActivity.java и добавляем сюда код:
import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView mTimer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTimer = (TextView) findViewById(R.id.tv);
//Создаем таймер обратного отсчета на 20 секунд с шагом отсчета
//в 1 секунду (задаем значения в миллисекундах):
new CountDownTimer(20000, 1000) {
//Здесь обновляем текст счетчика обратного отсчета с каждой секундой
public void onTick(long millisUntilFinished) {
mTimer.setText("Осталось: "
+ millisUntilFinished / 1000);
}
//Задаем действия после завершения отсчета (высвечиваем надпись "Бабах!"):
public void onFinish() {
mTimer.setText("Бабах!");
}
}
.start();
}
}
Запускаем и проверяем работоспособность нашего таймера обратного отсчета:
А еще выучите работу Android Timer. | |
|
Всего комментариев: 0 | |