TỔNG QUAN
Dialog là một cửa sổ nhỏ hiển thị trên activity hiện hành, dùng để thông báo hay cung cấp một vài chức năng nhỏ đến người sử dụng.
Các loại Dialog:
AlertDialog: hiển thị thông báo đến người dùng, có chứa một số đối tượng điều khiển như: Button, CheckBox, Radio Button, v.v…
ProgressDialog: hiển thị tiến độ một công việc nào đó.
DatePickerDialog: cho phép người dùng chọn lịch ngày.
TimePickerDialog: cho phép người dùng chọn giờ
Để tạo Dialog, Android hỗ trợ 2 cách sau:
Tạo trong sự kiện onCreateDialog(int).
Tạo khi cần hiển thị Dialog. Android khuyến khích sử dụng sự kiện onCreate(int).
ALERTDIALOG
Giao diện hiển thị của nó gồm nhiều thành phần như sau:
Tiêu đề.
Thông điệp thông báo.
Buttons.
Danh sách chứa các CheckBox hay Radio Button.
Để 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 đó:
AlertDialog ad = build.create()
Mục đích | Phương thức/Đối tượng |
Tạo đốitượng để xây dựng AlertDialog | AlertDialog.Builder builder = new AlertDialog.Builder(this); |
Thiết lập tiêu đề | setTitle(CharSequence title) hoặc setTitle(int titleId) |
Thiết lập thông điệp | setMessage(CharSequence message) hoặc setMessage(int messageId) |
Thiết lập icon | setIcon(Drawable icon) hoặc setIcon(int iconId) |
Thiết lập danh sách | setItems(CharSequence[] items, DialogInterface.OnClickListener listener) hoặc setItem(int itemsId, DialogInterface.OnClickListener listener) |
Thiết lập danh sách chứa Radio Buttons | setSingleChoiceItems(CharSequence[] items, int checkedItem, DialogInterface.OnClickListener listener) hoặc setSingleChoiceItems(int itemsId, int checkedItem,DialogInterface.OnClickListener listener) |
Thiết lập danh sách chứa CheckBox | setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, DialogInterface.OnClickListener listener) hoặc setMultiChoiceItems(int itemsId, boolean checkedItems,DialogInterface.OnClickListener listener) |
Thiết lập Positive Button | setPositiveButton(CharSequence text, DialogInterface.OnClickListener listener) hoặc setPositiveButton(int textId, DialogInterface.OnClickListenerlistener) |
Thiết lập Negative Button | setNegativeButton(CharSequence text, DialogInterface.OnClickListener listener) hoặc setNegativeButton (int textId,DialogInterface.OnClickListener listener) |
Thiết lập Neutral Button | setNeutralButton(CharSequence text, DialogInterface.OnClickListener listener) hoặc setNeutralButton (int textId, DialogInterface.OnClickListenerlistener) |
| |
PROGRESSDIALOG
ProgressDialog là loại Dialog dùng để hiển thị tiến độ thực hiện một công việc nào đó . Dạng Dialog này được tạo ra từ lớp cha là AlertDialog. Ngoài những tính chất riêng, nó cũng kế thừa nhiều thuộc tính từ lớp cha AlertDialog như : Tiêu đề, Thông điệp, Buttons.
Có 2 dạng ProgressDialog:
Dạng Spin
Dạng Horizontal
Khởi tạo ProgressDialog như sau:
ProgressDialogmProgressDialog =new ProgressDialog(this);
Các phương thức dùng để thiết lập ProgressDialog:
setProgressStyle():ProgressDialog.STYLE_SPINNER/ProgressDialog.STYLE_HORIZONTAL.
setTitle(): là phương thức dùng để thiết lập tiêu đề cho ProgressDialog.
setMessage(): là phương thức dùng để thiết lập thông điệp cho ProgressDilog.
Riêng đối với Horizontal ProgressDialog, chúng ta phải thiết lập thêm chiều dài thanhngang trong Dialog thông qua phương thức setMax()
DATEPICKERDIALOG
DatePickerDialog dùng để chọn ngày tháng.
Phương thức khởi tạo DatePickerDialog như sau:
DatePickerDialog(Contextcontext,DatePickerDialog.OnDateSetListenercallback , intyear,intmonthOfYear, intdayOfMonth)
Trong đó:
context: là ngữ cảnh hiển thị Dialog. Trong trườnghợp này là Activity hiện hành.
callback: dùng để thiết lập sự kiện khi người dùngthay đổi ngày trên Dialog.
year: thiết lập năm trên Dialog.
monthOfYear: thiết lập tháng trên Dialog.
dayOfMonth: thiết lập ngày trên Dialog.
TIMEPICKERDIALOG
TimePickerDialog dùng để chọn ngày tháng.
Phương thức khởi tạo DatePickerDialog như sau:
TimePickerDialog(Contextcontext,DatePickerDialog.OnDateSetListenercallback , inthourOfDay,intminute, booleanis24HourView)
Trong đó:
context: là ngữ cảnh hiển thị Dialog. Trong trường hợp nàylà Activity hiện hành.
callback: dùng để thiết lập sự kiện khi người dùng thay đổigiờ phút trên Dialog.
hourOfDay: thiết lập giờ trên Dialog.
minute: thiết lập phút trên Dialog.
is24HourView: chỉ định giờ hiển thị theo dạng 24h hay 12h.
CUSTOM DIALOG
Là dạng Dialog có giao diện theo thiết kế của người lập
trình,có thể bao gồm cả ImageView, TextView, EditText, v.v…
Các phương thức để thiết lập Custom Dialog:
dlg = new Dialog(context): cấp phát bộ nhớ cho Dialog.
dlg.setContentView(R.layout.IdDialog): chỉ định giao diện cho Dialog.
dlg.setTitle(): thiết lập tiêu đề cho Dialog
XỬ LÝ SỰ KIỆN TRÊN DIALOG
Các Button, Item trên Dialog cũng được xử lýnhư các Button, Item bình thường.
{ 0 nhận xét... read them below or add one }
Đăng nhận xét