編輯:關於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(),獲得用戶選擇的日期
OpenglES2.0 for Android:來畫個矩形吧
上一節中我們繪制了一個三角形,我們在上一節的基礎上來完成矩形的繪制 。OK,開始動手做吧,首先在上一節的項目中的shape目錄下新建一個類——Sq
RxAndroid之app的生命周期管理RxLifecycle
管理Activity(Fragment、dialogFragment)的生命周期需要在build.gradle中加入compile 'com.trello:rxl
Android仿支付寶上芝麻信用分雷達圖
一、首先看下支付寶上芝麻信用分的效果圖:二、思路 1、確定雷達圖中心點坐標
Android Material Design系列之SnackBar
前言Snackbar 是一種針對操作的輕量級反饋機制,常以一個小的彈出框的形式,出現在手機屏幕下方或者桌面左下方。它們出現在屏幕所有層的最上方,包括浮動操作按鈕。Snac