android基本控制項學習-----Date&Time

来源:http://www.cnblogs.com/huolan/archive/2016/01/11/5122393.html
-Advertisement-
Play Games

Date&Time這裡一共講解下麵6個:TextClock(文本時鐘),AnalogClock(模擬時鐘),Chronometer(計時器),DatePicker(日期選擇器),TimePicker(時間選擇器),CalendarView(日期視圖)這六個前面三個很少用到,後面三個如果在實際的應用中...


Date&Time這裡一共講解下麵6個:

TextClock(文本時鐘),AnalogClock(模擬時鐘),Chronometer(計時器),DatePicker(日期選擇器),TimePicker(時間選擇器),CalendarView(日期視圖)這六個前面三個很少用到,後面三個如果在實際的應用中可能更需要我們自定義,這幾控制項個人覺得用的不多,可以動手看看運行效果圖就行了。

一、TextClock(文本時鐘)是在android4.2(API17)後推出的一個新的控制項來替代之前Digital的一個控制項,TextClock可用字元串的格式來顯示當前的時間和日期,對於時間這個控制項提供兩種格式,12小時制和24小時制。下麵介紹幾個會用到方法:

is24HourModeEnabled():查看系統是否在使用24小時制顯示時間

android:format24Hour:設置24小時制的格式

android:format12Hour:設置12小時制的格式

android:timeZone:設置時區

使用:

<TextClock
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:format24Hour="yyyy : MM :DD"/>

二、AnalogClock(模擬時鐘)
總結幾個屬性吧

android:dial:表的背景圖片

android:hand_hour:表的時針的圖片

android:hand_minute:表的分鐘的圖片

可以自己動手試一下這三個屬性

三、Chronometer(計時器)

直接看一個例子吧

代碼:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <Chronometer
        android:id="@+id/chronometer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#ff0000"
        android:textSize="60dip" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dip"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btnStart"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="開始記時" />

        <Button
            android:id="@+id/btnStop"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="停止記時" />

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

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

</LinearLayout>

Java代碼

package com.example.test3;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Toast;

public class MainActivity extends Activity implements View.OnClickListener,Chronometer.OnChronometerTickListener{

    private Chronometer chronometer;
    private Button btn_start,btn_stop,btn_base,btn_format;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        chronometer = (Chronometer) findViewById(R.id.chronometer);
        btn_start = (Button) findViewById(R.id.btnStart);
        btn_stop = (Button) findViewById(R.id.btnStop);
        btn_base = (Button) findViewById(R.id.btnReset);
        btn_format = (Button) findViewById(R.id.btn_format);

        chronometer.setOnChronometerTickListener(this);
        btn_start.setOnClickListener(this);
        btn_stop.setOnClickListener(this);
        btn_base.setOnClickListener(this);
        btn_format.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btnStart:
                chronometer.start();// 開始計時
                break;
            case R.id.btnStop:
                chronometer.stop();// 停止計時
                break;
            case R.id.btnReset:
                chronometer.setBase(SystemClock.elapsedRealtime());// 複位
                break;
            case R.id.btn_format:
                chronometer.setFormat("Time:%s");// 更改時間顯示格式
                break;
        }
    }

    @Override
    public void onChronometerTick(Chronometer chronometer) {
        String time = chronometer.getText().toString();
        if(time.equals("00:00")){
            Toast.makeText(MainActivity.this, "時間到了~", Toast.LENGTH_SHORT).show();
        }
    }
}

四、DatePicker(日期選擇器)

核心屬性:就對著上面圖來說吧,有興趣可以自己動手試一試

android:calendarTextColor:日曆列表的顏色

android:calendarViewShown:是否顯示日曆視圖,也就是右邊一塊

android:datePickerMode:組件外觀,可選值spinner,calendar,可以自己動手試一下效果

android:dayOfWeekBackground:頂部星期幾的背景色

android:dayOfWeekTextAppearance:頂部星期幾的文字顏色

android:endYear去年

android:firstDayOfWeek設置日曆列表是以星期幾開頭

android:headerBackground:整個頭部的背景顏色

android:headerDayOfMonthTextAppearance:頭部日期字體的顏色android:headerMonthTextAppearance:頭部月份的字體顏色

android:headerYearTextAppearance:頭部年的字體顏色

android:maxDate:最大日期顯示在這個日曆視圖mm / dd / yyyy格式

android:maxDate:最小日期顯示在這個日曆視圖mm / dd / yyyy格式android:spinnersShown:是否顯示spinner

android:startYear:設置第一年(內容),比如19940年android:yearListItemTextAppearance:列表的文本出現在列表中。android:yearListSelectorColor:年列表選擇的顏色

監聽事件OnDateChangedListener

五、TimePicker(時間選擇器)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在《基於Flume的美團日誌收集系統(一)架構和設計》中,我們詳述了基於Flume的美團日誌收集系統的架構設計,以及為什麼做這樣的設計。在本節中,我們將會講述在實際部署和使用過程中遇到的問題,對Flume的功能改進和對系統做的優化。1 Flume的問題總結在Flume的使用過程中,遇到的主要問題如下...
  • 美團的日誌收集系統負責美團的所有業務日誌的收集,並分別給Hadoop平臺提供離線數據和Storm平臺提供實時數據流。美團的日誌收集系統基於Flume設計和搭建而成。《基於Flume的美團日誌收集系統》將分兩部分給讀者呈現美團日誌收集系統的架構設計和實戰經驗。第一部分架構和設計,將主要著眼於日誌收集系...
  • 瞭解redis的朋友應該知道它有兩種數據持久化的方式,這裡我作一個簡單的介紹,AOF(append only file)和RDB.1.RDB這是一種比較常見的方式,採用 寫時複製 的方式,效率高,速度快,介紹一下寫時複製的機制:當 Redis 需要保存 dump.rdb 文件時, 伺服器執行以下操作...
  • oracle 資料庫應用 雖然代碼少但是很實用!--01.表空間create tablespace tp_hrdatafile 'E:\tp_hr01.dbf' size 10M, 'E:\tp_tak.dbf' size 10M autoextend on;alter tablespace tp_...
  • 買完688個人開發者賬號之後,如何進行真機測試呢??看下麵1.打開https://developer.apple.com然後,輸入我們買過688點那個App ID帳號和密碼哦!!一定是要支付過的!登陸後,如果你的頁面不像下麵的話,證明你的帳號不是支付過688元的帳號 (或者沒有激活。如果沒有激活請聯...
  • 應用銳化工具可以快速聚焦模糊邊緣,提高圖像中某一部位的清晰度或者焦距程度,使圖像特定區域的色彩更加鮮明。 在應用銳化工具時,若勾選器選項欄中的“對所有圖層取樣”覆選框,則可對所有可見圖層中的圖像進行銳化。但一定要適度。銳化不是萬能的,很容易使東西不真實。 在GPUImage中使用GPUImag...
  • 以前封裝過多個關於實現此功能的方法,雖然都實現了效果,但代碼和實現思路都相對複雜很多,而且並不比我下麵要說的這個方法好,這個也是我今天突發奇想來的,測量一下字體的寬度,然後根據這個點來計算 UILabel高度。這裡我使用的FontSize是13,我測出它的高度、寬度都是15像素,如果你使用其他號.....
  • 自然飽和度”是圖像整體的明亮程度,“飽和度”是圖像顏色的鮮艷程度。 “飽和度”與“色相/飽和度”命令中的“飽和度”選項效果相同,可以增加整個畫面的“飽和度”,但如調節到較高數值,圖像會產生色彩過飽和從而引起圖像失真。 在GPUImage中使用GPUImageVibranceFilter來實...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...