Android: Control que representa la fecha

1. Control de fechas

(1), selector de fecha

        DatePicker es un control de uso común en la plataforma Android, que se utiliza para permitir a los usuarios seleccionar fechas. Por lo general, se muestra como un calendario y permite al usuario seleccionar el año, mes y día deslizando el dedo o tocando.

Propiedades comunes:

  • android:calendarViewShown: Ya sea para mostrar la vista de calendario, el valor predeterminado es verdadero. Si se establece en falso, solo se mostrará el selector de desplazamiento para año, mes y día.
  • android:calendarTextColor  : El color del texto de la lista del calendario.
  • android:calendarViewShown : si se muestra la vista de calendario
  • android: datePickerMode : apariencia del componente, valores opcionales: spinner, calendario. El efecto del primero es el siguiente y el efecto predeterminado es el segundo.
  • android:calendarTextColor  : El color del texto de la lista del calendario.
  • android:calendarViewShown : si se muestra la vista de calendario
  • android:datePickerMode : apariencia del componente, valores opcionales: spinner, calendario. El primer efecto es el siguiente, el efecto predeterminado es el segundo.

Métodos comúnmente utilizados:

  • init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener): Inicialice el control DatePicker y establezca la fecha seleccionada y el detector de cambios de fecha.
  • getYear(): Obtenga el año seleccionado.
  • getMonth(): Obtenga el mes seleccionado (el rango es 0-11).
  • getDayOfMonth(): Obtenga la fecha seleccionada.
  • setMinDate(long minDate): establezca la fecha mínima para limitar la fecha más temprana seleccionada por el usuario.
  • setMaxDate(long maxDate): establece la fecha máxima para limitar la última fecha seleccionada por el usuario.

(2) Vista de calendario 

        CalendarView es un control de Android que se utiliza para mostrar calendarios y seleccionar fechas. Proporciona una interfaz interactiva que permite a los usuarios explorar diferentes meses y seleccionar fechas específicas.

Propiedades comunes

  • android:date: Especifique la fecha seleccionada predeterminada, expresada en formato AAAA-MM-DD.
  • android:minDate: Especifica el valor mínimo de la fecha opcional, expresada en formato AAAA-MM-DD.
  • android:maxDate: Especifique el valor máximo de la fecha opcional, expresada en formato AAAA-MM-DD.
  • android:weekNumberColor: establece el color del texto del número de semana.
  • android:focusedMonthDateColor: establece el color del texto de la fecha en el mes actual.
  • android:unfocusedMonthDateColor: establece el color del texto de la fecha en meses no actuales.
  • android:selectedWeekBackgroundColor: establece el color del fondo de la semana de la fecha seleccionada.
  • android:selectedDateVerticalBar: establece el color de la barra vertical en el lado izquierdo de la fecha seleccionada.
  • android:shownWeekCount: establece el número de semanas que se muestran en el calendario.

Métodos comunes

  • setDate(long milliseconds): establece la fecha seleccionada predeterminada.
  • getDate(): obtiene la fecha seleccionada actualmente y devuelve un tipo largo que representa los milisegundos de la fecha.
  • setMinDate(long minDate): establezca el valor mínimo de fechas seleccionables, es decir, limite la fecha más temprana que los usuarios pueden seleccionar.
  • getMinDate(): Obtenga el valor mínimo de la fecha opcional.
  • setMaxDate(long maxDate): establece el valor máximo de fechas seleccionables, es decir, limita la última fecha que los usuarios pueden seleccionar.
  • getMaxDate(): Obtenga el valor máximo de fechas opcionales.
  • setOnDateChangeListener(OnDateChangeListener listener): establece un detector de cambio de fecha, que se activa cuando el usuario selecciona una fecha diferente.

2. Ejemplos

 Actividad principal :

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);
    }
}

actividad_principal: 

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <CalendarView
        android:id="@+id/calendarView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <DatePicker
        android:id="@+id/datePicker"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/selectedDateTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:textSize="18sp" />

</LinearLayout>

resultado de la operación:

Supongo que te gusta

Origin blog.csdn.net/A125679880/article/details/131773693
Recomendado
Clasificación