android中日期选择器_如何在Android中使用新物料日期选择器

android中日期选择器

大家好,Google最近发布了MaterialDatePicker:这是一个有用的新组件,符合材料设计准则( https://material.io/components/pickers/#usage )。 这个新组件具有一个非常有趣的功能,它使您可以选择日期范围,而不是选择两个日期的旧流程:一个“从”和一个“到”,即该组件可以用作DatePickerDateRangePicker 。我对此感到非常兴奋,我想在我正在从事的项目的更新中使用它:为了改善用户体验,可惜我找不到使用该可爱新组件的任何示例或教程。因此,我决定制作一个,在本文中,我将概述使用MaterialDatePicker所采取的步骤,这将是一篇非常简短的文章,因为MaterialDatePicker确实非常易于使用。

1.首先,我们必须添加材料设计组件库。 因此,在应用程序级build.gradle文件的依赖项列表中。 加

implementation'com.google.android.material:material:1.2.0-alpha03'

在本出版物发行时,最新版本是'1.2.0-alpha03' 。 您可以在https://github.com/material-components/material-components-android/releases找到最新发布的版本号

2.现在,我们必须初始化一个生成器,有两种方法可以执行此操作,具体取决于所需的MaterialDatePicker类型。 如果要选择一个日期,则只能选择一个日期。 您可以这样做:

//Date Picker
val builder = MaterialDatePicker.Builder.datePicker()

看起来像这样:

如果您需要MaterialDatePicker,则可以使用它来选择日期范围,如下所示:

//Date Range Picker
val builder = MaterialDatePicker.Builder.dateRangePicker()

3.现在,是时候创建选择器了,无论选择哪种构建器,您都可以始终通过以下方式创建构建器:

val picker = builder.build()

为了显示选择器,我们调用:

picker.show(supportFragmentManager, picker.toString())

就这样!!。 但是,我们始终需要知道选择器对话框中会发生什么。 让我们在下一步中执行此操作。

4.我们需要为不同的场景添加三个侦听器,首先让我们在取消对话框时处理场景:

picker.addOnCancelListener {
   Log.d("DatePicker Activity" , "Dialog was cancelled" )
  }

现在,我们处理场景,单击对话框的否定按钮:

picker.addOnNegativeButtonClickListener {
 Log.d("DatePicker Activity" , "Dialog Negative Button was clicked" ) 
 }

最后,我们必须迎合成功的运营。 根据您构建的MaterialDatePicker的类型,我们可以采用以下两种方法之一来处理它。 对于DatePicker,所选值将在Long变量中传递unix纪元时间值,该值可以在PositiveButtonClickedListener lambda中作为参数进行访问,也可以在Picker的标题文本中作为字符串读取(Jan 7月10日, 28等)。 如下所示

picker.addOnPositiveButtonClickListener { 
Log.d("DatePicker Activity" , "Date String = ${picker.headerText} :: Date epoch value = ${it} " )
}

当使用日期范围选择器时,纪元值将作为包含两个Longs( Pair<Long, Long> )的Pair对象传递。 可以如下处理:

picker.addOnPositiveButtonClickListener {
 Log.d("DatePicker Activity" , "Date String = ${picker.headerText} ::  Date epoch values:: ${it.first} :: to :: ${it.second} " )
}

所有人,谢谢您的阅读,直到最后,我希望我能够对这个很酷的新功能有更多的了解。 如果您认为本文可以改进,请提供反馈。 谢谢!

翻译自: https://hackernoon.com/how-to-use-new-material-date-picker-for-android-s7k32w0

android中日期选择器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio实现日期选择器可以通过以下步骤进行: 1. 在XML布局文件添加一个EditText用于显示选择的日期,例如: ```xml <EditText android:id="@+id/editTextDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="date" android:focusable="false" android:onClick="showDatePickerDialog" /> ``` 2. 在Activity或Fragment创建一个DatePickerDialog的实例,并实现DatePickerDialog.OnDateSetListener接口来处理选择的日期,例如: ```java public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener { private EditText editTextDate; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editTextDate = findViewById(R.id.editTextDate); } public void showDatePickerDialog(View view) { DatePickerDialog datePickerDialog = new DatePickerDialog(this, this, Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH)); datePickerDialog.show(); } @Override public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { String selectedDate = dayOfMonth + "/" + (month + 1) + "/" + year; editTextDate.setText(selectedDate); } } ``` 3. 在showDatePickerDialog方法创建一个DatePickerDialog实例,并设置初始日期为当前日期。然后调用show方法显示日期选择器。 4. 在onDateSet方法获取选择的日期,并将其设置到EditText显示。 这样就可以在Android Studio实现日期选择器了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值