Android开发技术之——关掉键盘、返回上层、日期控件

关掉用户的键盘只需要一行代码

((InputMethodManager)requireActivity()
    .getSystemService(Context.INPUT_METHOD_SERVICE))
    .hideSoftInputFromWindow(v.getWindowToken(),0);

返回上层需要借助界面导航NavController

Navigation.findNavController(v).navigateUp();

日期控件

安卓自带的无非就是DatePickerDialog和TimePickerDialog,而且说真的,显示效果还不错。

DatePickerDialog datePickerDialog = new DatePickerDialog();

这个构造方法有6个参数,

  • 第一个是Context,
  • 第二个是所显示控件的样式,一共有五种:

   int THEME_TRADITIONAL = 1;
   int THEME_HOLO_DARK = 2;
   int THEME_HOLO_LIGHT = 3;
   int THEME_DEVICE_DEFAULT_DARK = 4;
   int THEME_DEVICE_DEFAULT_LIGHT = 5;

  • 第三个是监听器DatePickerDialog.OnDateSetListener()
  • 最后三个参数是初始日期
     

整体代码如下

//构建一个日期对话框,该对话框已经集成了日期选择器
	DatePickerDialog datePickerDialog = new DatePickerDialog(Objects.requireNonNull(getContext()), AlertDialog.THEME_DEVICE_DEFAULT_DARK, new DatePickerDialog.OnDateSetListener() {
     
                    @Override
                    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
     
                        //点击确定后触发,设置时间
                        taskInsertDate.setText((year) + "." + (month + 1 ) + "." + dayOfMonth);
                        calendar.set(Calendar.YEAR,year);
                        calendar.set(Calendar.MONTH,month);
                        calendar.set(Calendar.DAY_OF_MONTH,dayOfMonth);
                    }
                },
                        calendar.get(Calendar.YEAR),
                        calendar.get(Calendar.MONTH),
                        calendar.get(Calendar.DAY_OF_MONTH));
                //把日期对话框显示在界面上
                datePickerDialog.show();

你可能感兴趣的:(Android开发技术之——关掉键盘、返回上层、日期控件)