Android
Выбор даты и времени
Поиск…
Материал DatePicker
добавьте ниже зависимости для build.gradle
в разделе зависимости. (это неофициальная библиотека для выбора даты)
compile 'com.wdullaer:materialdatetimepicker:2.3.0'
Теперь нам нужно открыть DatePicker
на событие click Button.
Поэтому создайте одну кнопку на xml-файле, как показано ниже.
<Button
android:id="@+id/dialog_bt_date"
android:layout_below="@+id/resetButton"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:textColor="#FF000000"
android:gravity="center"
android:text="DATE"/>
и в MainActivity используйте этот способ.
public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener{
Button button;
Calendar calendar ;
DatePickerDialog datePickerDialog ;
int Year, Month, Day ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
calendar = Calendar.getInstance();
Year = calendar.get(Calendar.YEAR) ;
Month = calendar.get(Calendar.MONTH);
Day = calendar.get(Calendar.DAY_OF_MONTH);
Button dialog_bt_date = (Button)findViewById(R.id.dialog_bt_date);
dialog_bt_date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerDialog = DatePickerDialog.newInstance(MainActivity.this, Year, Month, Day);
datePickerDialog.setThemeDark(false);
datePickerDialog.showYearPickerFirst(false);
datePickerDialog.setAccentColor(Color.parseColor("#0072BA"));
datePickerDialog.setTitle("Select Date From DatePickerDialog");
datePickerDialog.show(getFragmentManager(), "DatePickerDialog");
}
});
}
@Override
public void onDateSet(DatePickerDialog view, int Year, int Month, int Day) {
String date = "Selected Date : " + Day + "-" + Month + "-" + Year;
Toast.makeText(MainActivity.this, date, Toast.LENGTH_LONG).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.abc_main_menu, menu);
return true;
}
}
Выход :
Диалог выбора даты
Это диалоговое окно, в котором пользователю предлагается выбрать дату с помощью DatePicker
. Диалог требует контекста, начального года, месяца и дня, чтобы показать диалог со стартовой датой. Когда пользователь выбирает дату, она DatePickerDialog.OnDateSetListener
обратные вызовы через DatePickerDialog.OnDateSetListener
.
public void showDatePicker(Context context,int initialYear, int initialMonth, int initialDay) {
DatePickerDialog datePickerDialog = new DatePickerDialog(context,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datepicker,int year ,int month, int day) {
//this condition is necessary to work properly on all android versions
if(view.isShown()){
//You now have the selected year, month and day
}
}
}, initialYear, initialMonth , initialDay);
//Call show() to simply show the dialog
datePickerDialog.show();
}
Обратите внимание, что месяц - это int, начинающийся с 0 для января до 11 декабря
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow