編輯:關於Android編程
以文本的方式顯示系統日期和時間,可以自定義顯示格式,是 Android4.2(對應API Level 17)提供的新特性。TextClock有兩種格式設置方式:
1、在24小時模式:
屬性:android:format24Hour
方法:set Format24Hour(CharSequence)
2、在12小時模式:
屬性:android: format12Hour
方法:set Format12Hour (CharSequence)
下面就通過案例2.6-1,講解TextClock的用法,執行效果如圖2.6-1
圖2.6-1
2.6.2 AnalogClock
AnalogClock控件顯示模擬時鐘。它繼承了View組件,在View組件的基礎上重寫了onDraw方法,在OnDraw方法實現繪制模擬時鐘,但繪制了時針和分針沒有秒針。
表2.6-1列出了AnalogClock所支持的XML屬性。
表2.6-1AnalogClock所支持的XML屬性說明
XML屬性
備注
android:dial
設置模擬表盤的使用的圖片
android:hand_hour
設置模擬表盤時針使用的圖片
android:hand_minute
設置模擬表盤分針使用的圖片
下面就通過案例2.6-2,講解AnlogClock的基本用法,執行效果如圖2.6-2
圖2.6-2
DatePicker和TimePicker是 Android提供用於選擇一個時間和選擇一個日期的控件。
他們都繼承自FrameLayout,使用起來比較簡單。
使用DatePicker和TimePicker控件有助於確保用戶選擇一個時間或日期是有效的、格式正確。
TimePicker用於選擇的時間(小時,分鐘,上午/下午)的每個部分。
DatePicker用於選擇日期(月,日,年)的每個部分。
如圖2.6-3所示:
圖2.6-3
表2.6-2列出了DatePicker所支持的XML屬性。
表2.6-2 DatePicker所支持的XML屬性說明
XML屬性
備注
android:calendarViewShown
是否顯示CalendarView組件
android:spinnersShown
是否顯示Spinner組件
android:endYear
是否允許選擇最後一年
android:startYear
是否允許選擇第一年
android:maxDate
以MM / DD / yyyy格式顯示此日歷視圖的最大日期
android:minDate
以MM / DD / yyyy格式顯示此日歷視圖的最小日期
下面就通過案例2.6-3,講解AnlogClock的基本用法,執行效果如圖2.6-3
圖2.6-3
public class PickerActivity extends AppCompatActivity { private int year; private int month; private int day; private int hour; private int minute; private DatePicker datePicker; private TimePicker timePicker; @Override datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker arg0, int year, int month, int day) { PickerActivity.this.year = year; PickerActivity.this.month = month; PickerActivity.this.day = day; // 顯示當前時間和日期 showDate(year, month, day, hour, minute); } }); // 為TimerPicker指定事件監聽器 timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker arg0, int hour, int minute) { PickerActivity.this.hour = hour; PickerActivity.this.minute = minute; } }); showDate(year,month,day,hour,minute); } protected void showDate(int year, int month, int day, int hour,int minute) { EditText text = (EditText) findViewById(R.id.etShowDate); text.setText("選擇的日期和時間為:" + year + "年" + (month+1) + "月" + day + "日" + hour + "時" + minute+ "分"); } }
是一個日歷組件,用於顯示和選擇日期。日歷支持的范圍是可配置的。用戶可以選擇一個日期,也可以通過觸摸滾動來選擇所需的日期。
表2.6-3列出了CalendarView所支持的XML屬性。
表2.6-3 CalendarView所支持的XML屬性說明
XML屬性
方法
備注
android: dateTextAppearance
setDateTextAppearance(INT)
設置日歷控件日期文字的樣式
android:maxDate
setMaxDate(long)
以MM / DD / yyyy格式在此日歷視圖中顯示的最小日期
android:minDate
setMinDate(long)
以MM / DD / yyyy格式在此日歷視圖中顯示的最大日期
android:firstDayOfWeek
setFirstDayOfWeek(INT)
給日歷設置周的第一天
android:shownWeekCount
set ShownWeekCount(INT)
設置日歷總共顯示幾個周
android:selectedWeekBackgroundColor
setSelectedWeekBackgroundColor(INT)
設置已選擇的周的背景顏色
android:focusedMonthDateColor
setFocusedMonthDateColor
設置焦點月份的文字的顏色
android:weekSeparatorLineColor
setWeekSeparatorLineColor(INT)
設置周分割線的顏色
android:unfocusedMonthDateColor
setUnfocusedMonthDateColor(INT)
設置未選中月份的文字的顏色
下面就通過案例2.6-4,講解CalendarView的基本用法,執行效果如圖2.6-4。
圖2.6-4
public class CalendarViewActivity extends AppCompatActivity { private CalendarView cv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_calendar_view); cv=(CalendarView)findViewById(R.id.calenddarView); initCalendarView(); } private void initCalendarView(){ //為CalendarView組件的日期改變事件添加事件監聽器 cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { //使用Toast顯示用戶選擇的日期 Toast.makeText(CalendarViewActivity.this, "購票日期:" + year + "年" + month + "月" + dayOfMonth + "日" , Toast.LENGTH_SHORT).show(); } }); } }
案例關鍵點:
通過為CalendarView對象設置日期監聽OnDateChangeListener,並復寫回調方法onSelectedDayChange(),獲得用戶選擇的日期
上一節中我們繪制了一個三角形,我們在上一節的基礎上來完成矩形的繪制 。OK,開始動手做吧,首先在上一節的項目中的shape目錄下新建一個類——Sq
管理Activity(Fragment、dialogFragment)的生命周期需要在build.gradle中加入compile 'com.trello:rxl
一、首先看下支付寶上芝麻信用分的效果圖:二、思路 1、確定雷達圖中心點坐標
前言Snackbar 是一種針對操作的輕量級反饋機制,常以一個小的彈出框的形式,出現在手機屏幕下方或者桌面左下方。它們出現在屏幕所有層的最上方,包括浮動操作按鈕。Snac