文章参考: 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的效果图:

其它效果就略过了。 

更多相关文章

  1. 7 android 星级滑块
  2. android Spinner 例子
  3. android弹出下拉选择菜单,单选,多选
  4. 疯狂android讲义---事件处理2
  5. Android中一个单行与多行并存的listview
  6. android自定义ProgressBar
  7. Android之Dialog集合
  8. 选择图文表
  9. Qt5.2中的android环境搭建

随机推荐

  1. Android Cannas.drawTextView 方法坐标问
  2. android 使用socket与pc传递对象的问题
  3. Android实战经验之图像处理及特效处理的
  4. Android(安卓)SpannableString 基本用法
  5. Android中使用占位符
  6. 「1024」福利
  7. Android动画基础-Tween和Frame动画
  8. android之多媒体篇(一)
  9. (转)Android性能优化案例研究(上)
  10. Android(安卓)自定义loading