小工具知识网

当前位置: 首页 > 行业知识 > 安卓:表示日期的控件

行业知识

安卓:表示日期的控件

2026-11-07 01:27:43 来源:互联网转载

一、日期控件

(一)、DatePicker

        DatePicker是一种安卓平台上常用的控件,用于让用户选择日期。它通常以日历的形式显示,并允许用户通过滑动或点击来选择年、月和日。

常用属性:

  • android:calendarViewShown:是否显示日历视图,默认为true。若设为false,则只显示年、月和日的滚动选择器。
  • android:calendarTextColor : 日历列表的文本的颜色
  • android:calendarViewShown:是否显示日历视图
  • android:datePickerMode:组件外观,可选值:spinner,calendar 前者效果如下,默认效果是后者。
  • android:calendarTextColor : 日历列表的文本的颜色
  • android:calendarViewShown:是否显示日历视图
  • android:datePickerMode:组件外观,可选值:spinner,calendar 前者效果如下,默认效果是后者

    常用方法:

    • init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener):初始化DatePicker控件并设置选定日期及日期改变监听器。
    • getYear():获取选中的年份。
    • getMonth():获取选中的月份(范围为0-11)。
    • getDayOfMonth():获取选中的日期。
    • setMinDate(long minDate):设置最小日期,限制用户选择的最早日期。
    • setMaxDate(long maxDate):设置最大日期,限制用户选择的最晚日期。

      (二)、CalendarView 

              CalendarView是一个Android控件,用于显示日历和选择日期。它提供了一个交互式的界面,让用户可以浏览不同的月份,并选择特定的日期。

      常用属性

      • android:date:指定默认选中的日期,以YYYY-MM-DD格式表示。
      • android:minDate:指定可选日期的最小值,以YYYY-MM-DD格式表示。
      • android:maxDate:指定可选日期的最大值,以YYYY-MM-DD格式表示。
      • android:weekNumberColor:设置周数文字的颜色。
      • android:focusedMonthDateColor:设置当前月份中日期文字的颜色。
      • android:unfocusedMonthDateColor:设置非当前月份中日期文字的颜色。
      • android:selectedWeekBackgroundColor:设置选中日期所在周背景的颜色。
      • android:selectedDateVerticalBar:设置选中日期左侧的垂直条的颜色。
      • android:shownWeekCount:设置日历中显示的周数。

        常用方法

        • setDate(long milliseconds):设置默认选中的日期。
        • getDate():获取当前选中的日期,返回一个long类型的表示日期的毫秒数。
        • setMinDate(long minDate):设置可选日期的最小值,即限制用户能够选择的最早日期。
        • getMinDate():获取可选日期的最小值。
        • setMaxDate(long maxDate):设置可选日期的最大值,即限制用户能够选择的最晚日期。
        • getMaxDate():获取可选日期的最大值。
        • setOnDateChangeListener(OnDateChangeListener listener):设置日期改变监听器,当用户选中不同的日期时触发该监听器。

          二、例子

           MainActivity :

          public class MainActivity extends AppCompatActivity {    private CalendarView calendarView;    private DatePicker datePicker;    private TextView selectedDateTextView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        calendarView = findViewById(R.id.calendarView);        datePicker = findViewById(R.id.datePicker);        selectedDateTextView = findViewById(R.id.selectedDateTextView);        // 设置CalendarView的日期改变监听器        calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {            @Override            public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) {                // 处理日期改变事件                String selectedDate = year + "-" + (month + 1) + "-" + dayOfMonth;                selectedDateTextView.setText("选中日期:" + selectedDate);            }        });        // 设置DatePicker的日期改变监听器        datePicker.init(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(),                new DatePicker.OnDateChangedListener() {                    @Override                    public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {                        // 处理日期改变事件                        String selectedDate = year + "-" + (monthOfYear + 1) + "-" + dayOfMonth;                        selectedDateTextView.setText("选中日期:" + selectedDate);                    }                });                // 初始时显示当前日期        updateSelectedDate();    }    private void updateSelectedDate() {        int year = datePicker.getYear();        int month = datePicker.getMonth();        int dayOfMonth = datePicker.getDayOfMonth();        String selectedDate = year + "-" + (month + 1) + "-" + dayOfMonth;        selectedDateTextView.setText("选中日期:" + selectedDate);    }}

          activity_main: 

                      

          运行结果:

上一篇:[超级详细]如何在深度学习训练模型过程中使用GPU加速

下一篇:宝塔面板连接故障详解,快速解决连接问题!