Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
692,94 KB
Nội dung
LẬPTRÌNHANDROIDCƠ BẢN Bài 4:Giaodiệnngườidùng(phần2) Nội dung học Widget khác Menu Option menu, context menu Dialog Custom View Xử lý kiện Có thể sử dụng setOnClickListener muốn xử lý kiện click View Các xử lý kiện khác setOnKeyListener: phím bàn phím ấn setOnLongClickListener: click giữ lúc setOnTouchListener:khi View chạm (touch): khác với click Các widget khác Các widget khác định nghĩa handlers khác CheckBox: setOnCheckedChangeListener DatePicker:hàm init với tham số cho hàm OnDateChangedListener Các widget khác: xem tài liệu Android Developer widget muốn dùng Touch mode Hành vi khác ngườidùng sử dụng hình cảm ứng cách input khác Kích hoạt ngườidùng chạm vào hình Một số View khơng trạng thái “focused on” (View có trạng thái focused on highlight, nhận kiện bàn phím) Các view gây kiện onClick ấn Huỷ kích hoạt (deactivate) ngườidùng sử dụng phím điều hướng cuộn trackball Menu Option Menu Ấn phím Menu Activity Hỗ trợ icon, không hỗ trợ checkbox radiobutton Nhiều mục: Nếu có lớn 6, có phần More, khởi tạo menu mở rộng Context Menu Xuất click vào View vài giây Định nghĩa Menu Sử dụng XML menu Cần mở rộng tài nguyên XML menu Chuyển đổi thành đối tượng Java Android chuyển đổi R.* thành đối tượng Java tương ứng Ví dụ cho option menu public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.game_menu, menu); return true; } Option menu Nạp chồng onCreateOptionsMenu() onOptionsItemSelected() để hiển thị menu Giả sử muốn thay đổi menu Ví dụ: có toggled option menu Nạp chồng onPrepareOptionsMenu() – nhận thông tin Menu tạo onCreateOptionsMenu(), cho phép thêm mới/xóa enable/disable item menu Context menu Đăng ký View để hiển thị context menu với phương thức setOnCreateContextMenuListener(…) Thông thường đầu vào this, Activity Phải miêu tả onCreateContextMenu() onContextItemSelected() Đặc trưng khác Menu Menu con: khác biệt xuất hình, nhận kiện handler menu cha Nhóm menu: kết nối item liên quan đến hiển thị, ẩn enable/disable item Checkable items Phím tắt Thơng tin thêm: http://developer.android.com/guide/to pics/ui/menus.html Thông báo (notification) Làm thông báo cho ngườidùngcó thay đổi xảy ra? trường hợp phải xem xét: Ngườidùng đợi kiện, không cần trả lời Ngườidùng đợi kiện ứng dụng chạy trả lời lúc Ngườidùng phải đợi kiện hoàn thành trước ứng dụng tiếp tục sử dụng Toast Trường hợp 1: thông báo nhỏ, không cần thiết trả lời Lý tưởng cho trường hợp Short message Khi bạn chắn ngườidùng nhìn vào hình Toast.makeText(context, “Message”, Toast.LENGTH_SHORT).show(); Status bar notification Thêm icon vào status bar item để chọn cho xử lý kiện Ví dụ: gọi lỡ, có mail Lý tưởng khi: Làm với chế độ Sự kiện cần phải có đáp ứng (ví dụ mở email) Tạo status bar notification Phức tạp Toast Sử dụng Notification Manager Tạo notification (icon, text) Tạo Intent để khởi tạo Activity notification chọn Truyền notification tới Notification Manager Thông tin thêm: http://developer.android.com/guide/topics/ui/notifiers/not ifications.html Tạo Dialog Lý tưởng muốn thông báo cho ngườidùngcó điều xảy ứng dụng Hoặc nhận input từ ngườidùng Nhiều dạng khác Kiểu Dialog Alert: sử dụng AlertDialog.Builder Progress dialog Tạo ProgressDialog, thiết lập thuộc tính sau gọi show() kiểu chính: indeterminate (spinner) determinate (progress bar) Custom dialog Định nghĩa XML layout, gọi dialog.setContentView Custom Views Kế thừa lớp View subclass Nạp chồng phương thức: ví dụ onDraw()/onMeasure(), onKeyDown() Sử dụng phương thức layout Custom 2D View Nạp chồng onDraw() Đầu vào: canvas object Có thể vẽ đối tượng 2d, text, shape,… Nạp chồng onMeasure() Đầu vào: giới hạn độ lớn View Gọi setMeasuredDimension để thiết lập giới hạn độ lớn View: vượt giới hạn – trường hợp này, View/ViewGroup cha định xử lý Giaodiện cho kích cỡ hình Chúng ta định nghĩa layout cho chế độ portrait landscape? Câu trả lời: Portrait res/layout, Landscape res/layout-land Cấu hình khác đáp ứng kích thước hình Các vấn đề khác Độ phân giải hình dpi Phương pháp để xử lý 9-Patch drawables–tạo scalable graphics Tài nguyên khác (icon, layout) cho DPI khác Trước release ứng dụng Đảm bảo icon phù hợp với Android style: http://developer.android.com/design/style/iconography.ht ml Đảm bảo phù hợp với activity design guideline: http://developer.android.com/design/patterns/appstructure.html Ví dụ: Ngườidùng mong muốn click vào nút Back Guideline khác: http://developer.android.com/design/index.html Tổng kết nội dung học Widget khác Menu Option menu, context menu Dialog Custom View ... xmlns :android= "http://schemas .android. com/ apk/res /android" >