- Диалоговые окна
- DatePickerDialog и TimePickerDialog
- Полный список
- Android timepickerdialog get timepicker
- Android TimePicker Example
- Android TimePickerDialog Example
- TimePicker dialog fragment
- Activity
- TimePickerDialog example output
- Android TimePickerDialog event handling
- TimePicker Widget Example
- TimePicker widget example output
- Android TimePicker Modes
- Android TimePicker Custom Material Style
- TimePicker material style application level
- Android TimePicker widget custom style
- Android TimePicker Spinner Custom Color
- About
- Пример работы с DatePickerDialog и TimePickerDialog в Android
- Краткий обзор DatePickerDialog и TimePickerDialog в Android
- Android Timepicker – Use EditText to Show TimePickerDialog
- How to show Android Timepicker current time
- Android Time Picker format time
- Android Timepicker with am pm format
Диалоговые окна
DatePickerDialog и TimePickerDialog
По умолчанию в Android уже определены два диалоговых окна — DatePickerDialog и TimePickerDialog , которые позволяют выбрать дату и время.
Кроме установки даты DatePickerDialog позволяет обработать выбор даты с помощью слушателей OnDateChangedListener и OnDateSetListener . Что позволяет использовать выбранную дату далее в приложении.
Подобным образом TimePickerDialog позволяет обработать выбор времени с помощью слушателей OnTimeChangedListener и OnTimeSetListener
Пи работе с данными компонентами надо учитывать, что отсчет месяцев в DatePickerDialog начинается с нуля, то есть январь будет иметь номер 0, а декабрь — 11. И аналогично в TimePickerDialog отсчет секунд и минут будет идти с 0 до 59, а часов — с 0 до 23.
Используем DatePickerDialog и TimePickerDialog в приложении. Определим следующую разметку интерфейса в activity_main.xml :
Здесь определены две кнопки для выбора даты и времени и текстовое поле, отображающее выбранные дату и время. И изменим код MainActivity :
Ключевым классом здесь является java.util.Calendar , который хранится в стандартной библиоетке классов Java. В методе setInitialDateTime() мы получаем из экземпляра этого класса количество миллисекунд dateAndTime.getTimeInMillis() и с помощью форматирования выводим на текстовое поле.
Метод setDate() , вызываемый по нажатию на кнопку, отображает окно для выбора даты. При создании окна его объекту передается обработчик выбора даты DatePickerDialog.OnDateSetListener , который изменяет дату на текстовом поле.
Аналогично метод setTime() отображает окно для выбора времени. Объект окна использует обработчик выбора времени TimePickerDialog.OnTimeSetListener , который изменяет время на текстовом поле.
И поле запуска, нажав на кнопку изменения времени, мы сможем установить время:
Источник
Полный список
Начнем рассматривать новую тему – диалоги. Диалог – небольшое всплывающее окно, которое чаще всего используется для подтверждения каких-либо операций или ввода небольшого количества данных.
Мы рассмотрим стандартные диалоги, предоставляемые системой, и научимся делать свои. На этом уроке рассмотрим TimePickerDialog. Это диалог, который позволяет указать время.
Сделаем простое приложение. На экране будет TextView, на него можно будет нажать и появится диалог для выбора времени. После выбора оно отобразится в TextView.
Project name: P0581_TimePickerDialog
Build Target: Android 2.3.3
Application name: TimePickerDialog
Package name: ru.startandroid.develop.p0581timepickerdialog
Create Activity: MainActivity
На экране TextView, для которого включим clickable и назначим метод обработки onclick.
В onCreate находим TextView.
В onClick вызываем метод showDialog и передаем ему ID диалога. Этот метод (showDialog) создает диалог с помощью отдельного метода и показывает его. ID используется для указания, какой именно диалог создавать и показывать.
Метод onCreateDialog – это и есть отдельный метод, который вызывается в showDialog для создания диалога. В этом методе мы смотрим, какой ID пришел на вход, создаем соответствующий диалог и возвращаем его.
В нашем случае мы создаем TimePickerDialog, используя конструктор:
context – контекст
callBack – это обработчик с интерфйесом TimePickerDialog.OnTimeSetListener, метод которого срабатывает при нажатии кнопки ОК на диалоге
hourOfDay – час, который покажет диалог
minute – минута, которую покажет диалог
is24HourView – формат времени 24 часа (иначе AM/PM)
myCallBack – объект, реализующий интерфейс TimePickerDialog.OnTimeSetListener. У него только один метод – onTimeSet, который предоставляет нам TimePicker из диалога, и час и минуту, которые он показывает. Т.е. то, что мы ввели в диалоге.
Эти данные мы пишем в tvTime.
Все сохраним и запустим. Нажмем на TextView. Появился диалог для ввода времени.
Сейчас он показывает 14:35, т.к. мы при создании передали ему значения myHour и myMinute.
Текст показал новые значения.
Диалог также можно закрыть кнопкой Cancel или кнопкой Back (назад) на эмуляторе. В этом случае метод обработчика не сработает и текст не обновится.
Это самый простейший диалог. И тут, разумеется, рассмотрены далеко не все возможности. Здесь пока важно понять схему взаимодействия showDialog и onCreateDialog, и наличие обработчика результатов диалога.
Также здесь использовался новый для нас компонент TimePicker. Он несложен и просто позволяет удобно задавать или отображать время.
На следующем уроке сделаем похожий пример, но с датой, для закрепления.
На следующем уроке:
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Источник
Android timepickerdialog get timepicker
Android TimePicker Example
October 06, 2017
Android TimePicker UI control can be used to let users pick time in android applications. Using TimePicker, applications can get valid and well formatted time. TimePicker control can be provided by using TimePickerDialog or TimePicker widget.
In this post, you can learn using TimePicker, TimePickerDialog, TimePicker widget, TimePicker material styles, TimePicker custom styles, TimePicker event handling, TimePicker clock mode, and TimePicker spinner mode.
Android TimePickerDialog Example
To show TimePicker using TimePickerDialog, you need to create a fragment by extending DialogFragment class and implementing onCreateDialog method. In onCreateDialog method, you need to instantiate TimePickerDialog setting current time and return it.
In the activity where you need to show TimePicker, you need to instantiated the Fragment and show it in response to user event such as button click.
TimePicker dialog fragment
Activity
TimePickerDialog example output
Android TimePickerDialog event handling
To handle TimePickerDialog events, you need to implement TimePickerDialog.OnTimeSetListener interface which has onTimeSet callback that gets called every time user picks time using TimePicker. You can add timeSetListener to TimePickerDialog by passing it to constructor as shown in the above dialog fragment code.
TimePicker Widget Example
Instead of TimePickerDialog, you can use TimePicker widget to provide TimePicker control in your application. You can define TimePicker in layout xml using TimePicker element as shown below.
In the activity, you can get the TimePicker object and set time change listener by calling setOnTimeChangedListener method and passing TimePicker.OnTimeChangedListener instance to it. TimePicker.OnTimeChangedListener interface has one callback method onTimeChanged, in this method you can get user picked time.
TimePicker widget example output
Android TimePicker Modes
TimePicker can be used in two modes: clock and spinner mode. If you use material themes, the default TimePicker mode is clock. Above pictures show TimePicker in clock mode. You can change default setting using android:timePickerMode attribute. It takes clock or spinner as values. Below picture shows TimePicker in spinner mode.
Android TimePicker Custom Material Style
TimePicker material style application level
You can change time picker color by defining custom colors in your custom application theme as shown below and setting it as application theme. This color change impacts not only TimePicker but also other controls throughout the application.
To change colors of only TimePicker control throughout the application, you need to first define custom TimePicker style and set it as theme for time picker in your application theme as shown below.
Android TimePicker widget custom style
Android provides Widget.Material.TimePicker and Widget.Material.Light.TimePicker material styles for TimePicker widget. You can customize and apply these styles to TimePicker as shown below.
Applying custom material to TimePicker.
Output of TimePicker custom material style.
Android TimePicker Spinner Custom Color
To change TimePicker spinner’s selection divider color, define colorControlNormal property in your custom style and apply it to TimePicker.
About
Android app development tutorials and web app development tutorials with programming examples and code samples.
Источник
Пример работы с DatePickerDialog и TimePickerDialog в Android
В этом уроке мы создадим простое приложение с Date Picker и Time Picker Dialog. Эти компоненты используются для выбора даты и времени непосредственно самим пользователем. В коде они реализованы с помощью классов DatePickerDialog , TimePickerDialog и класса Calendar . Подробнее читайте ниже в статье.
Краткий обзор DatePickerDialog и TimePickerDialog в Android
Обычно выбор даты и времени в андроид реализуется с помощью независимых виджетов, но по отдельности они неудобны и занимают больше места на экране, поэтому их чаще используют внутри Dialog. Разработчики системы Android это заметили и создали удобные классы DatePickerDialog и TimePickerDialog соответственно для выбора даты и времени.
Для взаимодействия с пользователем в каждом из этих классов используются интерфейсы обратного вызова onDateSetListener() и onTimeSetListener() .
В конструкторе класса DatePickerDialog целых 5 параметров:
- Context — контекст приложения
- Функция обратного вызова: onDateSet() вызывается, когда пользователь устанавливает дату со следующими параметрами:
- int year — получает выбранный год из диалога
- int monthOfYear — хранит выбранный месяц из диалога
- int dayOfMonth — хранит выбранный день из диалога
- int mYear — год, который отображается при создании диалога
- int mMonth — месяц
- int mDay — день
В конструкторе класса TimePickerDialog также 5 параметров:
- Context — требуется контекст приложения
- Функция обратного вызова: onTimeSet() вызывается, когда пользователь устанавливает время со следующими параметрами:
- int hourOfDay — хранит выбранный час дня из диалога
- int minute — хранит выбранную минуту из диалога
- int mHours — час, который отображается при создании диалога
- int mMinute — минута, которая отображается при создании диалога
- boolean mBool — если false, то формат времени 24 часа, если true — 12 часов.
Подробнее о диалогах в Android читайте в этой статье и по этой ссылке.
Источник
Android Timepicker – Use EditText to Show TimePickerDialog
Hi and welcome to another tutorial from Codingdemos, today you will learn how to use Android TimePicker to select the time from Android TimePickerDialog and show it inside Android EditText.
You will build an Android app that contain an EditText, once you tap on it you will see an Android TimePickerDialog which allows you to choose the time and the selected time will appear later inside Android EditText.
By the end of this tutorial, you will have an app that looks like this. (Large preview)
In this tutorial we will be using the following:
- – Android studio version 3.0.1
– Android emulator Nexus 5X with API 26
– Minimum SDK API 16
1- Open up Android Studio and create a new project and give it a name, in our case we’ve named it (TimePicker), choose API 16 as the minimum SDK, then choose a blank activity, click “Finish” and wait for Android Studio to build your project.
Create new Android Studio project. (Large preview)
2- Open up colors.xml file, add the following code to change the colors of the app.
3- Build and run the app to see the changes.
New colors for TimePicker app. (Large preview)
4- Open up activity_main.xml file and add Android EditText.
5- Build and run the app to see the output.
Android EditText for TimePicker. (Large preview)
6- Next open up MainActivity.java file, here you will define Android EditText and TimePickerDialog.
7- In order for Android EditText react to user taps you need to use Android SetOnClickListener.
8- Inside Android OnClick method is where you will define Android Time Picker.
9- Finally add the following code to be able to see TimePickerDialog appear in the screen.
10- Now build and run the app to see Android Timepicker.
11- Tapping on TimePickerDialog OK button doesn’t do anything at the moment, well you can improve that user experience by showing the selected time inside EditText. Add the following code inside Android onTimeSet method.
12- Build and run the app to see the result.
Tap on EditText to show timepicker. (Large preview)
How to show Android Timepicker current time
In this section, you will learn how to show the current time inside Android Timepicker.
13- Open up MainActivity.java file and add the following code inside Android OnClick method.
Here you define Android Calendar so that you can use it to get the current hour and minute values.
14- Now you need to make some changes to Android onTimeSet method by passing currentHour and currentMinute values, so that you can actually see the current hour and minute inside TimePickerDialog.
15- Build and run the app.
Tap on EditText to see Android Timepicker current time. (Large preview)
Android Time Picker format time
In this section, you will learn how to format time so that it appears like this (hh:mm).
16- Add the following code inside Android onTimeSet method.
17- Now build and run the app to see the output.
Android Time Picker with correct time format. (Large preview)
Android Timepicker with am pm format
In this section, you will learn how to show AM-PM inside TimePickerDialog and EditText.
18- Modify Android onTimeSet method to include the following code.
Here you check if the selected hour value is greater than or equal to (12), you would then initialize amPm as PM. Otherwise you initialize it as AM.
19- Build and run the app to see the result.
Android Timepicker with am pm format. (Large preview)
20- Here is the full code for MainActivity.java file.
21- The source code for Android TimePicker example is available on GitHub, I hope you find this tutorial helpful and if you have any question please post them in the comment below.
Источник