Android(安卓)日期时间选择器
16lz
2022-06-18
文章参考: https://blog.csdn.net/qq_33756493/article/details/78120743
参考以上连接文章,具体实现如下:
布局文件代码:
<?xml version="1.0" encoding="utf-8"?>
MainActivity代码:
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private TextView txtDate; private TextView txtTime; private Button btnDate; private Button btnTime; DateFormat format= DateFormat.getDateTimeInstance(); Calendar calendar= Calendar.getInstance(Locale.CHINA); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnDate= (Button) findViewById(R.id.btn_Date); btnTime= (Button) findViewById(R.id.btn_Time); txtDate= (TextView) findViewById(R.id.txtDate); txtTime= (TextView) findViewById(R.id.txtTime); btnDate.setOnClickListener(this); btnTime.setOnClickListener(this); } /** * 日期选择 * @param activity * @param themeResId * @param tv * @param calendar */ public static void showDatePickerDialog(Activity activity, int themeResId, final TextView tv, Calendar calendar) { // 直接创建一个DatePickerDialog对话框实例,并将它显示出来 new DatePickerDialog(activity, themeResId, new DatePickerDialog.OnDateSetListener() { // 绑定监听器(How the parent is notified that the date is set.) @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // 此处得到选择的时间,可以进行你想要的操作 tv.setText("您选择了:" + year + "年" + (monthOfYear + 1) + "月" + dayOfMonth + "日"); } } // 设置初始日期 , calendar.get(Calendar.YEAR) , calendar.get(Calendar.MONTH) , calendar.get(Calendar.DAY_OF_MONTH)).show(); } /** * 时间选择 * @param activity * @param themeResId * @param tv * @param calendar */ public static void showTimePickerDialog(Activity activity,int themeResId, final TextView tv, Calendar calendar) { // Calendar c = Calendar.getInstance(); // 创建一个TimePickerDialog实例,并把它显示出来 // 解释一哈,Activity是context的子类 new TimePickerDialog( activity,themeResId, // 绑定监听器 new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { tv.setText("您选择了:" + hourOfDay + "时" + minute + "分"); } } // 设置初始时间 , calendar.get(Calendar.HOUR_OF_DAY) , calendar.get(Calendar.MINUTE) // true表示采用24小时制 ,true).show(); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btn_Date: showDatePickerDialog(this, 4, txtDate, calendar);; break; case R.id.btn_Time: showTimePickerDialog(this, 4, txtTime, calendar); break; default: break; } }}
主要说明下,不同的Android版本下, showDatePickerDialog,showTimePickerDialog的第二个参数themeResId, 设置成不同的数字有不同的效果(测试使用了Android 4.4.2 Android 8.0), 现贴出8.0的部分效果图
设置成0的效果图:
设置成1的效果图:
设置成2的效果图:
其它效果就略过了。
更多相关文章
- 7 android 星级滑块
- android Spinner 例子
- android弹出下拉选择菜单,单选,多选
- 疯狂android讲义---事件处理2
- Android中一个单行与多行并存的listview
- android自定义ProgressBar
- Android之Dialog集合
- 选择图文表
- Qt5.2中的android环境搭建