Bài giảng Lập trình Android - Bài 6: Tài nguyên ứng dụng hình ảnh & giao diện

pdf 34 trang ngocly 1570
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Android - Bài 6: Tài nguyên ứng dụng hình ảnh & giao diện", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_lap_trinh_android_bai_6_tai_nguyen_ung_dung_hinh_a.pdf

Nội dung text: Bài giảng Lập trình Android - Bài 6: Tài nguyên ứng dụng hình ảnh & giao diện

  1. Trường ĐH Khoa Học Tự Nhiên Tp. Hồ Chí Minh TRUNG TÂM TIN HỌC Lập trình Android Bài 6. Tài nguyên ứng dụng hình ảnh & giao diện Ngành Mạng & Thiết bị di động 2014
  2. Nội dung 1. Tài nguyên hình ảnh ● Thư mục lưu trữ - Định dạng – Truy xuất ● Các dạng tài nguyên hình ảnh 2. Tài nguyên giao diện Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 2
  3. 1.1 Thư mục lưu trữ - Định dạng – Truy xuất  Thư mục lưu trữ: ● Các tài nguyên hình ảnh được lưu trữ trong thư mục res/drawable. ● Có thể có nhiều thư mục drawable theo từ hạn định khác nhau: . Ví du: drawable-hdpi, drawable-xhdpi  Định dạng: ● Tài nguyên hình ảnh bao gồm cả định dạng *.xml và định dạng hình ảnh (.png, .gif, .jpg).  Truy xuất: bao gồm 2 cách thức: ● Java: R.drawable. . ● XML: @[pakage:]drawable/ . Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 3
  4. 1.1 Thư mục lưu trữ - Định dạng – Truy xuất  Ví dụ truy xuất tài nguyên hình ảnh: ● Java: Resources res = getResources(); Drawable drawable = res.getDrawable(R.drawable.ic_launcher); ● XML: “@drawable/ic_launcher” /> Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 4
  5. 1.2 Các dạng tài nguyên hình ảnh  Bao gồm các định dạnh: ● Bitmap ● Shape ● LayerList ● StateList ● LevelList ● Transition ● Inset ● Clip ● Scale ● Nine-Patch Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 5
  6. 1.2 Các dạng tài nguyên hình ảnh  Bitmap: ● Định dạng ảnh nhị phân, Android hỗ trợ ba định dạng tài nguyên hình ảnh: png, jpg và gif. ● Các thực thi của Bitmap bao gồm: . Sử dụng như tài nguyên thông qua R.drawable.filename . Tham chiếu biên dịch tài nguyên thông qua đối tượng BitmapDrawable. Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 6
  7. 1.2 Các dạng tài nguyên hình ảnh  Bitmap: ● Sử dụng các thuộc tính Bitmap trong XML:. . AntinAlias (XML) . Dither . Filter . Gravity . Mipmap . Tilemode . Automirrored Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 7
  8. 1.2 Các dạng tài nguyên hình ảnh  Bitmap: ● Ví dụ xây dựng Bitmap trong XML: mipmap.xml ● Truy xuất trong Java code: BitmapDrawable drawable = (BitmapDrawable)getResources() .getDrawable(R.drawable.mipmap); Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 8
  9. 1.2 Các dạng tài nguyên hình ảnh  Shape: ● Tài nguyên hình ảnh cho các đối tượng đa giác được vẽ bằng XML, bao gồm: . Rectangle . Oval . Line . Ring ● Tham chiếu biên dịch tài nguyên thông qua đối tượng GradientDrawable. Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 9
  10. 1.2 Các dạng tài nguyên hình ảnh  Shape: ● Sử dụng các thuộc tính để cấu tạo đối tượng: . Corners (Rectangle) - Integer . radius . topLeftRadius . topRightRadius . bottomLeftRadius . bottomRadius . Padding (Rectangle) – Integer . left . top . right . bottom Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 10
  11. 1.2 Các dạng tài nguyên hình ảnh  Shape: ● Sử dụng các thuộc tính để cấu tạo đối tượng: . Gradient . angle - integer . centerX - integer . centerY - integer . centerColor - integer . endColor - color . gradientRadius – integer . startColor – color . type – linear | radial | sweep . useLevel – true | false Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 11
  12. 1.2 Các dạng tài nguyên hình ảnh  Shape: ● Sử dụng các thuộc tính để cấu tạo đối tượng: . Size – integer . width – integer . height – integer . Solid – integer . color – color . Stroke – integer . width - integer . color – color . dashWith – integer . dashGap - integer Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 12
  13. 1.2 Các dạng tài nguyên hình ảnh  Shape: ● Một số thuộc tính chỉ sử dụng cho đối tượng Ring: . innerRadius . innerRadiusRatio . thickness . thicknessRatio . useLevel (false) Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 13
  14. 1.2 Các dạng tài nguyên hình ảnh  Shape: ● Ví dụ: Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 14
  15. 1.2 Các dạng tài nguyên hình ảnh  LayerList: ● Tài nguyên hình ảnh cho phép quản lý mảng các đối tượng hình ảnh được vẽ chồng lên nhau, mỗi đối tượng hình ảnh được qui ước là một item. ● Mỗi item bao gồm: . drawable – resource . Id – resource id . top - integer . right - integer . bottom - integer . left - integer ● Tham chiếu biên dịch tài nguyên thông qua đối tượng LayerDrawable. Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 15
  16. 1.2 Các dạng tài nguyên hình ảnh  State List: ● Tài nguyên hình ảnh cho phép quản lý mảng các đối tượng hình ảnh được vẽ theo trạng thái của đối tượng thể hiện. ● Một item bao gồm: . drawable – resource . Tập các trạng thái có thể có: . Pressed . Focused . Hovered . Selected . Checkable . Enable . Activated . Window focused ● Tham chiếu biên dịch tài nguyên thông qua đối tượng StateListDrawable. Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 16
  17. 1.2 Các dạng tài nguyên hình ảnh  LevelList: ● Tài nguyên hình ảnh cho phép quản lý mảng các đối tượng hình ảnh, mỗi đối tượng hình ảnh được qui ước là một item, hiển thị ảnh theo cấp độ tương ứng đã khai báo. ● Một item bao gồm: . drawable – resource . maxLevel . minLevel ● Tham chiếu biên dịch tài nguyên thông qua đối tượng LevelListDrawable. Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 17
  18. 1.2 Các dạng tài nguyên hình ảnh  Transition: ● Tài nguyên hình ảnh cho phép thực hiện chuyển đổi (hiệu ứng “biến bóng”) giữa hai đối tượng hình ảnh. ● Mỗi item bao gồm: . drawable – resource . Id – resource id . top - integer . right - integer . bottom - integer . left – integer ● Các phương thức xử lý chính: . startTransition . reverserTransition . resetTransition. Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 18
  19. 1.2 Các dạng tài nguyên hình ảnh  Inset: ● Tài nguyên hình ảnh cho phép thực hiện lồng đối tượng hình ảnh theo một ví trí cho trước. ● Các thuộc tính bao gồm: . drawable – resource . insetTop - integer . insetRight - integer . insetBottom - integer . insetLeft – integer ● Tham chiếu biên dịch tài nguyên thông qua đối tượng InsetDrawable. Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 19
  20. 1.2 Các dạng tài nguyên hình ảnh  Clip: ● Tài nguyên hình ảnh cho phép thực hiện cắt một đối tượng hình ảnh theo thông số vị trí cho trước, có thể thay đổi thông số cắt trong quá trình hoạt động. ● Tham chiếu biên dịch tài nguyên thông qua đối tượng ClipDrawable. ● Các thuộc tính bao gồm: . drawable – resource . clipOrientation – integer . Gravity ● Các phương thức xử lý chính: . setLevel (min:0 – max: 10.000) . getLevel Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 20
  21. 1.2 Các dạng tài nguyên hình ảnh  Scale: ● Tài nguyên hình ảnh cho phép thực hiện phóng to hoặc thu nhỏ một đối tượng hình ảnh theo thông số tỉ lệ cho trước, có thể thay đổi thông số tỉ lệ trong quá trình hoạt động. ● Các thuộc tính bao gồm: . drawable – resource . scaleGravity – integer . scaleWidth - % . scaleHeight - % ● Tham chiếu biên dịch tài nguyên thông qua đối tượng ScaleDrawable. Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 21
  22. 1.2 Các dạng tài nguyên hình ảnh  NinePatch: ● Tài nguyên hình ảnh cho phép thực hiện tạo đối tượng hình ảnh (PNG) có kích thước co dãn theo tỉ lệ đối tượng thể hiện. ● Các thuộc tính bao gồm: . src– resource . dither– integer ● Tham chiếu biên dịch tài nguyên thông qua đối tượng NinePatchDrawable. Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 22
  23. Nội dung 1. Tài nguyên hình ảnh 2. Tài nguyên giao diện ● Thư mục lưu trữ – Truy xuất ● Các định dạng Layout Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 23
  24. 2.1 Thư mục lưu trữ – Truy xuất  Thư mục lưu trữ: ● Các tài nguyên giao diện được lưu trữ trong thư mục res/layout. ● Có thể có nhiều thư mục layout theo từ hạn định khác nhau: . Ví du: layout-land, layout-xhdpi  Truy xuất: bao gồm 2 cách thức: ● Java: R.layout. . ● XML: @[pakage:]layout/ . Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 24
  25. 2.1 Thư mục lưu trữ – Truy xuất Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 25
  26. 2.1 Thư mục lưu trữ – Truy xuất  Ví dụ khai báo trong XML: activity_main.xml Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 26
  27. 2.2 Các định dạng Layout  Bao gồm các lớp kế thừa từ ViewGroup: ● AbsoluteLayout (Deprecated) ● AdapView (ListView, Gridview ) ● DrawerLayout ● FragmentBreadCrumbs ● FrameLayout ● GridLayout ● LinearLayout ● PagerTitleStrip ● RelativeLayout ● SlidingDrawer ● SlidingPaneLayout ● SwipeRefreshLayout ● ViewPager Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 27
  28. 2.2 Các định dạng Layout  FrameLayout: ● Sử dụng trong các trường hợp xây dựng bố cục tổ chức hiển thị một đối tượng duy nhất. ● Đối tượng mặc định vị trí top-left trên FrameLayout, có thể sử dụng thuộc tính Gravity để thiết lập lại vị trí. ● Ví dụ khai báo: Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 28
  29. 2.2 Các định dạng Layout  FrameLayout: ● Các đối tượng kế thừa phổ biến: . ViewFlipper: đối tượng cho phép thực hiện hiển thị các đối tượng ở chế độ phân trang, chỉ hiển thị một đối tượng ở một thời điểm. . Ví dụ khai báo: . Các phương thức sử dụng: .startFlipping .setAutoStart .showNext .showPrevious Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 29
  30. 2.2 Các định dạng Layout  FrameLayout: ● Các đối tượng kế thừa phổ biến: . ScrollView: đối tượng cho phép thực hiện hiển thị các đối tượng ở chế độ cuộn màn hình, chỉ cho phép chứa một đối tượng ở một thời điểm. . Ví dụ khai báo: . Các phương thức sử dụng: .setFillViewPort .scrollBy .scrollTo .smoothScrollBy .smoothScrollTo Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 30
  31. 2.2 Các định dạng Layout  LinearLayout: ● Sử dụng trong các trường hợp xây dựng bố cục tổ chức hiển thị các đối tượng theo một chiều duy nhất (chiều dọc hoặc ngang). ● Đối tượng mặc định vị trí top left trên LinearLayout , có thể sử dụng thuộc tính Gravity để thiết lập lại vị trí. ● Ví dụ khai báo: Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 31
  32. 2.2 Các định dạng Layout  LinearLayout: ● TableLayout: đối tượng layout kế thừa từ LinearLayout, cho phép hiển thị các đối tượng theo nhiều dòng (TableRow). ● Mỗi dòng có thể chứa nhiều View, mỗi View được xem là một cột. ● Ví dụ khai báo: Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 32
  33. 2.2 Các định dạng Layout  RelativeLayout: ● Sử dụng trong các trường hợp xây dựng bố cục tổ chức hiển thị các đối tượng theo mối quan hệ vị trí. ● Đối tượng được đặt vào RelativeLayout đầu tiên sẽ xác định vị trí cho các đối tượng sau đó. ● Ví dụ khai báo: Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 33
  34. Thảo luận Lập trình Android (2014) – Bài 6. Tài nguyên hình ảnh và giao diện 34