Android DatePickerDialog 日期选择对话框
Android DatePickerDialog ( 日期选择对话框 ) 会弹出一个对话框形式的日期选择器
DatePickerDialog
DatePickerDialog
可以通过实例一个对象来创建
DatePickerDialog(Context context) DatePickerDialog(Context context, int themeResId) DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener listener, int year, int month, int dayOfMonth) DatePickerDialog(Context context, int themeResId, DatePickerDialog.OnDateSetListener listener, int year, int monthOfYear, int dayOfMonth)
几个方法循序渐进,各个参数说明如下
参数 | 说明 |
---|---|
context | 上下文 |
themeResId | 皮肤资源 id |
listener | 日期时会触发监听器 |
year | 要显示的年 |
month | 要显示的月 |
dayofMonth | 要显示的日期的 |
接下来我们就来创建一个 DatePickerDialog
先来看看最后效果
-
创建一个 空的 Android 项目
cn.twle.android.DatePickerDialog
-
修改
activity_main.xml
创建一个按钮弹出DatePickerDialog
<?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="16dp" android:orientation="vertical" > <Button android:id="@+id/btn_pop" android:text="弹出日期选择器" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
-
修改
MainActivity.java
package cn.twle.android.datepickerdialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Button; import android.view.View; import android.widget.Toast; import android.widget.DatePicker; import android.app.DatePickerDialog; import java.util.Calendar; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn_pop = (Button) findViewById(R.id.btn_pop); btn_pop.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn_pop: Calendar cale1 = Calendar.getInstance(); new DatePickerDialog(MainActivity.this,new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Toast.makeText(getApplicationContext(), "你选择的是 "+year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日", Toast.LENGTH_SHORT).show(); } } ,cale1.get(Calendar.YEAR) ,cale1.get(Calendar.MONTH) ,cale1.get(Calendar.DAY_OF_MONTH)).show(); } } }