Komponen Tarikh & Masa (Bahagian 1)


Pengenalan kepada bahagian ini:

Apa yang dibawa oleh bahagian ini kepada anda ialah beberapa kawalan yang diberikan oleh Android kepada kami untuk memaparkan masa. TextClock, AnalogClock, Chronometer, dan sebenarnya ada DigitalClock lapuk yang saya tidak akan jelaskan! Baiklah, mari mulakan bahagian ini!


1. TextClock (TextClock)

TextClock ialah kawalan yang dilancarkan selepas Android 4.2 (API 17) untuk menggantikan DigitalClock!
TextClock boleh memaparkan tarikh dan masa semasa dalam format rentetan, jadi disyorkan untuk menggunakan TextClock selepas Android 4.2.
Kawalan ini disyorkan untuk digunakan dalam sistem android 24-bit TextClock menyediakan dua format berbeza. Satu adalah untuk memaparkan masa dan tarikh dalam 24 pangkalan, dan satu lagi adalah untuk memaparkan masa dan tarikh dalam 12 pangkalan. Kebanyakan orang menyukai tetapan lalai.

Anda boleh menyemak sama ada sistem menggunakan paparan masa 24 digit dengan memanggil: kaedah is24HourModeEnabled() yang disediakan oleh TextClock! Dalam mod 24 perpuluhan:

  • Jika masa tidak diperoleh, mula-mula kembalikan nilai melalui getFormat24Hour(); ;
  • Jika perkara di atas gagal, lalai akan digunakan;

    Malah, kami menghabiskan lebih banyak masa pada definisi bentuk masa, iaitu CharSequence di dalam! Berikut ialah kaedah dan hasil penulisan yang biasa digunakan:

    <TextClock
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format12Hour=" MM /dd/yy h:mmaa"/>
    <TextClock
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format12Hour="MMM dd, y yyy h :mmaa"/>
    <TextClock
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format12Hour="MMMM dd, yyyy h:m maa "/> ;
    <TextClock
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format12Hour="E, MMMM dd, yyyy h:mmaa"/> ;
    <TextClock
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format12Hour="EEEE, MMMM dd, yyyy h:mmaa"/>
    < TextClock
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format12Hour="Hari yang patut diberi perhatian: 'M/d/yy"/>

    Hasil berjalan:

    1.png

    PS:Selain itu, minsdk mestilah lebih besar daripada atau sama dengan 17!


    2.AnalogClock (jam analog)

    adalah seperti yang ditunjukkan di bawah:

    2.png

    Kita boleh cari ia di laman web rasmi Lihat tiga atribut seperti ini:

    3.png

    mengikut urutan: latar belakang meja, jarum jam jadual, gambar jarum minit, kami boleh menyesuaikannya sendiri:

    Kod sampel adalah seperti berikut:

    <AnalogClock
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:dial=" @mipmap/ic_c_bg"
    android:hand_hour="@mipmap/zhen_shi"
    android:hand_minute="@mipmap/zhen_fen" />

    Hasil berjalan:

    4.png


    3.Chronometer (pemasa)

    Seperti yang dinyatakan , ia adalah pemasa yang mudah, mari kita pergi terus ke contoh penggunaan:

    Contoh penggunaan:

    Kod pelaksanaan:

    Kod reka letak:


    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com /tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity"> 🎜>
        <Chronometer
            android:id="@+id/chronometer"
            android:layout_width="fill_parent"
       ="      android:          android                          android graviti=" center"
             android:textColor="#ff0000"
            android:textSize="60dip" />

        <LinearLayout
              induk     android: LAYOUT_HEIGHT = "WRAP_CONTENT"
    Android: LAYOUT_MARGIN = "10DIP"
    Android: Orientation = "Horizontal" & gt;
                android:layout_width="fill_parent"
            ="   android:layout_height= "wrap_content"
                                       android                    时" />

            <Butang
                android:id="@+id/btnStop"
                android:layout_width="fill_parent"
          android:                                            id         android:layout_weight="1"
                android:text="停止记时" />

            <Butang
                android:id="@+id/btnReset"
                android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                               android                                                                                                     android android:text="重置" />

            <Butang
                android:id="@+id/btn_format"
                                                                                                                                                                                                                     android :layout_height="wrap_content"
                android:text="格式化" />
        </LinearLayout>

    </LinearLayout>

    🎜>
    🎜 Mainjava melanjutkan AppCompatActivity melaksanakan View.OnClickListener,Chronometer.OnChronometerTickListener{

        pribadi Chronometer chronometer;
        pribadi Button btn_start,<🜜>base   @Override
        dilindungi void onCreate(Bundle savedInstanceState ) {
             super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initView();
        }<🎜 >< id 🎜 kronometer = (Chronometer) findViewById(R.id.chronometer);
             btn_start = (Butang) findViewById(R.id.btnStart);
                        atas );
             btn_base = (Button) findViewById(R.id.btnReset);
            btn_format = (Button) findViewById(R.id.btn_format);<🎜  >< Listenometer ini);
            btn_start. setOnClickListener(ini);
            btn_stop.setOnClickListener(ini);
    btn_base.setOnClickListener(this);
    btn_format.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
    s witch . getId()){
    case R.id.btnStart:
    chronometer.start();// Masa mula
    break;
    case R.id.btnS atas:
    kronometer. stop( );//Stop timing
    break;
    case R.id.btnReset:
    chronometer.setBase(SystemClock.elapsedRealtime());//Reset
               break;<🎜 >     break;<🎜 >    .id .btn_format:
    chronometer.setFormat("Time:%s");//Tukar format paparan masa
    rehat;
    }
    }

    @Override
    kekosongan awam padaChronometerTick(Chronometer chronometer) {
    String time = chronometer.getText().toString();
    if(time.equals("00:00")){
    Toast.makeText(MainActivity .ini, "Masa sudah tamat~",Toast.LENGTH_SHORT).show();
            }
        }
    }

    Tangkapan skrin operasi:

    5.png


    Ringkasan bahagian ini:

    Bahagian ini memberitahu anda Pengenalan ringkas kepada tiga komponen TextClock, AnalogClock dan Chronometer, seperti yang boleh dilihat dari panjang artikel Sebenarnya, saya tidak banyak menggunakan perkara ini, hampir tidak pernah... Ia bagus untuk mengetahuinya, dan penggunaannya sangat mudah... Itu sahaja, itu sahaja untuk bahagian ini~Terima kasih