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
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:
- bai_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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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