Komponen Tarikh & Masa (Bahagian 2)


Pengenalan kepada bahagian ini:

Dalam bahagian ini kita akan terus mengkaji beberapa komponen Tarikh & Masa asli yang disediakan oleh sistem Android. DatePicker (pemilih tarikh), TimePicker (pemilih masa), CalendarView (paparan tarikh), okay, Malah, saya menolak apabila saya diminta untuk memotong perkara-perkara ini pada mulanya, kerana pada pandangan saya, ia adalah seperti ini:

1.png

Ia hanya membuat saya menangis kerana betapa hodohnya. Ia adalah. Tidak, saya akhirnya faham mengapa begitu ramai orang suka menyesuaikan jenis kawalan ini! Tetapi selepas semua Saya menulisnya dalam garis besar saya menulis garis besar itu sendiri, dan saya terpaksa menyelesaikannya dengan air mata... Apabila saya menulis DatePicker ke dalam reka letak, dan kemudian melihatnya Pratonton gambar, yo:

Ternyata ia kelihatan agak bagus dan saya berada dalam mood yang baik, haha, mari mulakan bahagian ini! &roid :calendarTextColor

: Warna teks senarai kalendar

android:calendarViewShown

: Sama ada mahu memaparkan paparan kalendar

    android:datePickerMode
  • : Penampilan komponen, nilai pilihan: pemutar, kalendar Kesan yang pertama adalah seperti berikut, dan kesan lalai adalah yang terakhir
    • android:dayOfWeekBackground: Warna latar belakang hari teratas dalam minggu
    • android:dayOfWeekTextAppearance: Teks warna hari teratas dalam minggu
    • android:endYear: Tahun lepas (kandungan) seperti 2010
    • android:firstDayOfWeek: Tetapkan senarai kalendar untuk bermula dengan hari dalam minggu
    • android:headerBackground: Warna latar belakang keseluruhan pengepala
    • android:headerDayOfMonthTextAppearance: The warna fon tarikh pengepala
    • android: headerMonthTextAppearance: Warna fon bulan pengepala
    • android:headerYearTextAppearance: Warna fon tahun pengepala <🎜 🎜>
    • android:maxDate
    • : Tarikh Maks dipaparkan dalam paparan kalendar ini dalam format mm/dd/yyyy
    • android:maxDate
    • : Tarikh minimum dipaparkan dalam ini. paparan kalendar dalam format mm/dd/yyyy
    • android:spinnersShown
    • : Sama ada mahu memaparkan spinner
    • android:startYear
    • : Tetapkan tahun pertama ( kandungan), seperti 19940
    • android:yearListItemTextAppearance
    • : Teks senarai muncul dalam senarai.
    • android:yearListSelectorColor
    • : Warna yang dipilih dalam senarai tahun
    Atribut adalah di atas, anda boleh bermain seperti yang anda mahu, mari kita bincang tentangnya seterusnya Muat turun acara DatePicker beliau:
DatePicker.OnDateChangedListener

Selain itu, yang peliknya ialah jika mod di atas ditetapkan untuk acara kalendar dan tiada respons, nampaknya perkara di atas Anda hanya boleh mendapatkan nilai yang sepadan selepas memilihnya Jika mod anda tidak mempunyai pemutar, anda boleh menggunakan kod berikut untuk melengkapkan pemantauan acara:

Kod pelaksanaan adalah seperti berikut:

kelas awam MainActivity melanjutkan AppCompatActivity melaksanakan DatePicker.OnDateChangedListener{

    @Override
     dilindungi kosong onCreate <🎜 disimpan <🎜                                                                                            ,       , , dan yang boleh dilindungi, dan lain-lain. onCreate(savedInstanceState);
        setContentView( R.layout.activity_main);
        DatePicker dp_test = (DatePicker) findViewById(R.id.dp_test);
        Calendar calendar = Calendar.getInstance(>     year. ); >    }

    @Override
    public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        Toast. make toast.期是:"+ year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日!",Toast.LENGTH_SHORT).show();
    }
}

Menjalankan pemaparan:

4.gif


2. TimePicker (pemilih masa)

Mari kita lihat dahulu rupa TimePicker 5.0:

5.png

Nampaknya agak cantik Kami mendapati bahawa hanya terdapat satu atribut yang disediakan oleh pihak rasmi: android:timePickerMode<🎜. >: Penampilan komponen, nilai pilihan yang sama ialah: pemutar dan jam (lalai) Yang pertama ialah versi lama TimePicker~ Dan acara mendengar yang sepadan ialah: TimePicker.OnTimeChangedListener

Berikut ialah contoh kod:

Aktiviti Utama kelas awam dilanjutkan AppCompatActivity{

@Override
void dilindungi onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
= Masa Pilih TimePicker) findViewById(R.id.tp_test) Toast.makeText(MainActivity.this,"Masa yang anda pilih ialah: "+hourOfDay+"hour"+minit+"minit!",Toast.LENGTH_SHORT).show();
        }
    });
}

}

Menjalankan pemaparan: Malangnya, versi lama TimePicker juga diperlukan untuk mencetuskan acara ini!

6.gif


3 CalendarView

Baiklah, mari kita lihat dahulu:

7.png

Nah, itu nampaknya tidak banyak berubah. Mari kita lihat secara ringkas atribut yang disediakan untuk kita dalam dokumen:

  • android:firstDayOfWeek: Tetapkan seminggu dahulu hari
  • android:maxDate: Tarikh maksimum ditunjukkan dalam paparan kalendar ini dalam format mm/dd/yyyy
  • android:minDate: Tarikh minimum dipaparkan dalam paparan kalendar ini dalam format mm/dd/yyyy
  • android:weekDayTextAppearance: Teks hari minggu muncul di atas singkatan tajuk kalendar

pengendali Terdapat yang lain, tetapi semuanya tidak digunakan lagi... Acara perubahan tarikh yang sepadan ialah: CalendarView.OnDateChangeListener

Kod sampel:

kelas awam MainActivity memanjangkan AppCompatActivity{
@ Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CalendarView cv_test = (Cal endar.View) findViewById(R.id. cv_test );
cv_test.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int day           Ini yang anda pilih ialah:"+ tahun + "tahun" + bulan + "bulan" + dayOfMonth + "hari",Roti bakar.LENGTH_SHORT).show();
                                                                                                                                                  > }
}

Perenderan operasi:

8.gif


Ringkasan bahagian ini:

Okay, itu sahaja untuk pengenalan ketiga-tiga kawalan ini Dalam pembangunan sebenar, kami biasanya menyesuaikan kawalan ini. Dalam siri lanjutan, kami akan menulis kawalan kami sendiri, jadi nantikan, terima kasih~