LẬP TRÌNH ANDROID CƠ BẢNBài 4: Giao diện người dùng (phần 2)

24 126 0
LẬP TRÌNH ANDROID CƠ BẢNBài 4: Giao diện người dùng (phần 2)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LẬP TRÌNH ANDROID BẢN Bài 4: Giao diện người dùng (phần 2) Nội dung học  Widget khác  Menu  Option menu, context menu  Dialog  Custom View Xử lý kiện  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ười dùng sử dụng hình cảm ứng cách input khác  Kích hoạt người dùng chạm vào hình  Một số View khơng trạng thái “focused on” (View 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ười dù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 lớn 6, 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ụ: 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ười dùng thay đổi xảy ra?  trường hợp phải xem xét: Người dùng đợi kiện, không cần trả lời Người dùng đợi kiện ứng dụng chạy trả lời lúc Người dù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ười dù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ỡ, mail  Lý tưởng khi:  Làm với chế độ  Sự kiện cần phải đá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ười dùng điều xảy ứng dụng  Hoặc nhận input từ người dù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  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ý Giao diệ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ười dù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" >

Ngày đăng: 27/02/2019, 16:23

Từ khóa liên quan

Mục lục

  • LẬP TRÌNH ANDROID CƠ BẢN

  • Slide Number 2

  • Slide Number 3

  • Slide Number 4

  • Slide Number 5

  • Slide Number 6

  • Slide Number 7

  • Slide Number 8

  • Slide Number 9

  • Slide Number 10

  • Slide Number 11

  • Slide Number 12

  • Slide Number 13

  • Slide Number 14

  • Slide Number 15

  • Slide Number 16

  • Slide Number 17

  • Slide Number 18

  • Slide Number 19

  • Slide Number 20

Tài liệu cùng người dùng

Tài liệu liên quan