3. Toast Notifications
Là một dạng popup message hiển thị trên màn
hình
Tùy thuộc vào message mà popup toast sẽ có
kích cỡ tương ứng khi hiển thị
Tự động fade-in & fade-out theo thời gian được
set trong duration
Trong lúc hiển thị, không ảnh hưởng đến activity
#
Không bắt các sự kiện của người dùng
hoccungdoanhnghiep.com
4. Cách sử dụng Toast
Khởi tạo một object từ class Toast bằng hàm
makeText(): Toast t = Toast.makeText(context,
message, duration)
context: application context
message: Nội dung message
duration: Thời gian hiển thị
Để hiển thị, gọi đến hàm show: t.show()
hoccungdoanhnghiep.com
5. Toast tùy biến với layout
Toast có thể được tùy biến giao diện bằng cách
gán layout đã được tạo sẵn cho nó:
LayoutInflater li = getLayoutInflater();
View v = li.inflate(R.layout.toast_layout,
(ViewGroup)findViewById(R.id.my_toast_layout_root));
Toast t = new Toast(getApplicationContext());
t.setView(v);
t.setDuration(Toast.LENGTH_LONG);
t.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
t.show();
hoccungdoanhnghiep.com
6. Dialog
Là một cửa sổ nhỏ xuất hiện bên trên activity
hiện tại
Người dùng bắt buộc phải xử lý thông tin trên
dialog trước khi có thể quay lại được activity
Dialog nên được sử dụng dưới 1 trong các dạng
sau:
AlertDialog: chứa thông tin (text, list item) &
buttons để hỏi ý kiến người dùng
ProgressDialog: hiển thị thanh tiến trình
DatePickerDialog: Cho phép người dùng chọn
date
TimePickerDialog: cho phép người dùng chọn
hoccungdoanhnghiep.com
time
7. AlertDialog
Có thể chứa các thông tin sau:
Tiêu đề
Nội dung message
Tối đa 3 buttons
List các item có thể chọn lựa (kèm theo
checkboxes hoặc radio buttons)
Để khởi tạo AlertDialog, ta phải sử dụng lớp con
là AlertDialog.Builder:
AlertDialog.Builder build = new
AlertDialog.Builder(context)
Sau khi build xong, thì gọi create để tạo object
của AlertDialog từ builder đó
hoccungdoanhnghiep.com
AlertDialog ad = build.create()
8. AlertDialog.Builder
Các method quan trọng cần ghi nhớ của
AlertDialog.Builder
setTitle: Dùng để set title cho dialog
setMassage: dùng để hiển thị nội dung message.
Chú ý: Khi hiển thị message thì không set với các
loại nội dung khác
setCancelable: false để vô hiệu hóa nút back khi
đang hiển thị dialog
setPositiveButton: Hiển thị nút action thứ nhất bên
trái
setNegativeButton: Hiển thị nút action thứ 3 bên
phải
hoccungdoanhnghiep.com
setNeutralButton: Hiển thị nút action ở giữa
9. DatePicker Dialog
Cung cấp cho người dùng một công cụ để chọn:
ngày-tháng-năm tiện lợi và dễ nhìn
Để show, khởi tạo object từ class
DatePickerDialog với các tham số:
current activity context, this
callback – là object của OnDateSetListener
year: năm khởi tạo
month: tháng khởi tạo
day: ngày khởi tạo
hoccungdoanhnghiep.com
10. TimePicker Dialog
Cung cấp cho người dùng một công cụ để chọn:
giờ-phút tiện lợi và dễ nhìn
hoccungdoanhnghiep.com
11. Progress Dialog
Hiển thị progress animation ở dạng:
Progress bar: với những task đã define được quá
trình bắt đầu – kết thúc
Spinning wheel: với những task không xác định
được điểm kết thúc
ProgressBar mặc định là loại spinning wheel
Để hiển thị loại progress bar thì cần code nhiều
hơn
hoccungdoanhnghiep.com
12. ProgressBar – spinning wheel
Khởi tạo: ProgressDialog pb =
ProgressDialog.show(ActivityContext.this, title,
msg, indeterminate )
ActivityContext.this
title
Msg
indeterminate: set true để chỉ ra là loại không xác
định
hoccungdoanhnghiep.com
13. Progress bar dialog
Khởi tạo: ProgressDialog pd = new
ProgressDialog(this)
Cài đặt các properties cho pd:
pd.setProgressStyle(ProgressDialog.STYLE_HOR
IZONTAL): hiển thị progress dạng thanh nằm
ngang
pd.setMessage("Loading...”): nội dung message
hiển thị
pd.setCancelable(true): cho phép nhấn nút back
Ngoài ra, cần phải có 1 background thread xử lý
task và update progress thông qua handler
hoccungdoanhnghiep.com
14. Dialog
Nếu trong màn hình có nhiều loại dialog khác
nhau, override method onCreateDialog(int id) và
dựa vào id đó để xác định dialog nào sẽ hiển thị
Khi cần hiển thị dialog tương ứng với id đó, gọi
vào hàm showDialog(id)
Để tùy biến Dialog, khởi tạo object: Dialog d =
new Dialog(this)
Gán layout: d.setContentView(layout);
Với các loại dialog có sẵn, để tùy biến layout thì
sử dụng cách như với tùy biến Toast:
LayoutInflater li = getLayoutInflater();
View v = li.inflate(layout,
hoccungdoanhnghiep.com
(ViewGroup)findViewById(layout_root));
15. Xử lý sự kiện trên dialog
Các button trên dialog được xử lý sự kiện như
các button bình thường
Các item trên dialog cũng xử lý như bình
thường
Khi build dialog, tùy theo callback được gán mà
sự kiện sẽ được bắt và xử lý tùy theo ý của LTV
hoccungdoanhnghiep.com
16. ListView
Là một ViewGroup có chứa 1 danh sách các
items bên trong, và nó có thể cuộn lên xuống
Danh sách các items được tự động đưa vào
dựa vào ListAdapter
hoccungdoanhnghiep.com