Trong Android, hầu hết mọi thứ đều là tài nguyên. Xác định các tài nguyên mà sau đó bạn có thể truy cập trong ứng dụng của mình là một phần thiết yếu trong quá trình phát triển Android
Tài nguyên được sử dụng cho mọi thứ từ việc xác định màu sắc, hình ảnh, bố cục, menu và giá trị chuỗi. Giá trị của điều này là không có gì được mã hóa cứng. Mọi thứ được xác định trong các tệp tài nguyên này và sau đó có thể được tham chiếu trong mã ứng dụng của bạn. Đơn giản nhất trong số các tài nguyên này và phổ biến nhất là sử dụng tài nguyên chuỗi để cho phép văn bản được bản địa hóa, linh hoạt
Các loại tài nguyên¶
Sau đây là các loại tài nguyên phổ biến nhất trong ứng dụng Android
NameFolderDescriptionProperty AnimationsanimatorXML tệp xác định hoạt ảnh thuộc tính. Tween AnimationsanimXML tệp xác định tween hoạt ảnh. DrawablesdrawableTệp bitmap hoặc tệp XML hoạt động như tệp graphicsLayoutlayoutXML xác định bố cục giao diện người dùng TệpMenumenuXML xác định menu hoặc mục thanh tác vụValuesvaluesTệp XML với các giá trị như chuỗi, số nguyên và màu sắcNgoài ra, hãy lưu ý các tệp chính sau đây được lưu trữ trong thư mục
#FFFFFF #FFFF00 #FF00FF2 được đề cập ở trênNameFileDescriptionColors
#FFFFFF #FFFF00 #FF00FF3Đối với các định nghĩa màu chẳng hạn như màu văn bảnDimensions
#FFFFFF #FFFF00 #FF00FF4Đối với các giá trị kích thước như paddingStrings
#FFFFFF #FFFF00 #FF00FF5Đối với các giá trị chuỗi chẳng hạn như văn bản cho titleStyles
#FFFFFF #FFFF00 #FF00FF6Đối với các giá trị kiểu như màu của AppBar
Để biết danh sách đầy đủ các loại tài nguyên, hãy xem hướng dẫn Cung cấp tài nguyên
Tổ chức tài nguyên¶
Tài nguyên nên được chia thành các tệp và thư mục chính sau
NamePathDescriptionXML Layouts#FFFFFF #FFFF00 #FF00FF7Đây là nơi chúng tôi đặt các tệp bố cục XML của mình. Menu XML
#FFFFFF #FFFF00 #FF00FF8Đây là nơi chúng tôi đặt các hành động trên menu AppBar của mình. Drawables
#FFFFFF #FFFF00 #FF00FF9Đây là nơi chúng tôi đặt hình ảnh và XML drawables. Màu sắc
#FFFFFF #FFFF00 #FF00FF3Đây là nơi chúng tôi đặt các định nghĩa về màu sắc. Thứ nguyên
#FFFFFF #FFFF00 #FF00FF4Đây là nơi chúng tôi đặt các giá trị thứ nguyên. Strings
#FFFFFF #FFFF00 #FF00FF5Đây là nơi chúng tôi đặt chuỗi. Styles
#FFFFFF #FFFF00 #FF00FF6Đây là nơi chúng tôi đặt giá trị phong cách
Cung cấp tài nguyên ứng dụng¶
Xác định tài nguyên chuỗi¶
Đối với mọi đoạn văn bản bạn muốn hiển thị trong ứng dụng của mình [tôi. e nhãn của nút hoặc văn bản bên trong TextView], trước tiên bạn nên xác định văn bản trong tệp
#FFFFFF #FFFF00 #FF00FF5. Mỗi mục nhập là một khóa [đại diện cho id của văn bản] và một giá trị [chính văn bản đó]. Ví dụ: nếu tôi muốn một nút hiển thị "Gửi", tôi có thể thêm tài nguyên chuỗi sau vào
#FFFFFF #FFFF00 #FF00FF5
#FFFFFF #FFFF00 #FF00FF4
Bây giờ nếu tôi từng tham khảo tài nguyên chuỗi cho
#FFFFFF #FFFF00 #FF00FF56, mặc định sẽ hiển thị "Gửi". Tuy nhiên, sau này, bạn có thể tạo các tệp tài nguyên đủ điều kiện để thay đổi giá trị này cho các quốc gia khác nhau hoặc giữa các thiết bị. Chúng tôi cũng có thể lưu trữ các chuỗi phức tạp hơn [có html hoặc ký tự đặc biệt] bằng cách sử dụng CDATA để thoát khỏi chuỗi, chẳng hạn như
#FFFFFF #FFFF00 #FF00FF6
Để biết thêm chi tiết về cách xác định tài nguyên chuỗi, hãy xem hướng dẫn này. Bạn cũng có thể tham khảo hướng dẫn này để biết các tài nguyên về phong cách và hướng dẫn này cho các loại khác
Tham chiếu Tài nguyên Ứng dụng¶
Bây giờ chúng tôi đã xác định tài nguyên chuỗi của mình, chúng tôi có thể truy cập tài nguyên đó bằng mã Java hoặc bố cục XML của chúng tôi bất kỳ lúc nào. Để truy cập, tài nguyên trong tệp Bố cục XML, chỉ cần sử dụng cú pháp
#FFFFFF #FFFF00 #FF00FF57 được sử dụng để truy cập bất kỳ tài nguyên nào
#FFFFFF #FFFF00 #FF00FF8
Để truy cập tài nguyên trực tiếp trong mã Java của bạn, chỉ cần sử dụng các phương thức
#FFFFFF #FFFF00 #FF00FF58 hoặc
#FFFFFF #FFFF00 #FF00FF59 để truy cập giá trị được cung cấp id tài nguyên
#FFFFFF #FFFF00 #FF00FF1
Và giá trị chuỗi sẽ được lấy. Mẫu tương tự này hoạt động với hầu hết mọi tài nguyên từ hình ảnh [có thể vẽ] đến màu sắc. Phương thức
#FFFFFF #FFFF00 #FF00FF20 trả về một đối tượng Tài nguyên với nhiều phương thức tìm nạp tài nguyên. Mỗi tài nguyên được xác định trong các thư mục và tệp khác nhau trong thư mục
#FFFFFF #FFFF00 #FF00FF21 tùy thuộc vào loại của chúng
Xác định tài nguyên màu¶
Ngoài các tài nguyên chuỗi được hiển thị ở trên, bạn có thể tìm thấy các loại tài nguyên phổ biến sau đây. Trước tiên, chúng ta hãy xem tệp màu được sử dụng để xác định tất cả các màu được sử dụng trong một ứng dụng. Màu sắc phải được xác định trong
#FFFFFF #FFFF00 #FF00FF3 và tệp XML trông giống như sau
#FFFFFF #FFFF00 #FF00FF
Màu sắc có thể được truy cập trong mã Java với
#FFFFFF #FFFF00 #FF00FF5
Điều quan trọng cần lưu ý là cách truy cập tài nguyên màu mới nhất [kể từ API 24] yêu cầu cung cấp ngữ cảnh để giải quyết mọi [[theme tùy chỉnh. Thuộc tính Kiểu và Chủ đề]]. Xem bài viết này để biết thêm ngữ cảnh
và được tham chiếu trong bất kỳ chế độ xem nào trong XML bằng cách sử dụng
#FFFFFF #FFFF00 #FF00FF2
Đó là tất cả những gì bạn cần cho tài nguyên màu. Đảm bảo giữ các màu được mã hóa cứng ra khỏi tệp bố cục của bạn
Xác định tài nguyên thứ nguyên¶
Tiếp theo, hãy xem tệp kích thước được sử dụng để xác định tất cả các kích thước kích thước được sử dụng trong ứng dụng. Một thứ nguyên được chỉ định với một số theo sau là một đơn vị đo lường. Ví dụ.
#FFFFFF #FFFF00 #FF00FF23,
#FFFFFF #FFFF00 #FF00FF24. Kích thước phải được xác định trong
#FFFFFF #FFFF00 #FF00FF4 và tệp XML trông giống như sau
#FFFFFF #FFFF00 #FF00FF1
Kích thước có thể được truy cập trong mã Java với
#FFFFFF #FFFF00 #FF00FF2
và được tham chiếu trong bất kỳ chế độ xem nào trong bố cục XML bằng cách sử dụng
#FFFFFF #FFFF00 #FF00FF3
Đó là tất cả những gì bạn cần cho tài nguyên kích thước. Hãy chắc chắn sử dụng điều này để giữ kích thước phông chữ, phần đệm và giá trị lề được mã hóa cứng ra khỏi tệp bố cục của bạn. Có nhiều loại tài nguyên khác để khám phá
Truy xuất tài nguyên động¶
Trong một số trường hợp nhất định, bạn có thể muốn truy xuất tài nguyên động chỉ bằng cách sử dụng tên khóa thay vì "mã hóa cứng" id tài nguyên. Ví dụ: giả sử tôi muốn truy xuất chuỗi "submit_label" chỉ dựa trên tên khóa đó. Điều này có thể đạt được bằng cách sử dụng phương pháp
#FFFFFF #FFFF00 #FF00FF26 trong một Hoạt động
#FFFFFF #FFFF00 #FF00FF60
Giờ đây, bạn có thể tự động tham chiếu tài nguyên chuỗi của mình bằng cách sử dụng
#FFFFFF #FFFF00 #FF00FF61
Điều này cũng có thể được thực hiện tương tự đối với các loại tài nguyên khác. Ví dụ: để truy xuất động chế độ xem theo ID chuỗi
#FFFFFF #FFFF00 #FF00FF62
Kiểm tra đối tượng getResources và getIdentifier để biết thêm chi tiết
Các loại tài nguyên khác¶
Bool¶
Một giá trị boolean được định nghĩa trong XML
Ghi chú. Bool là một tài nguyên đơn giản được tham chiếu bằng cách sử dụng giá trị được cung cấp trong thuộc tính tên [không phải tên của tệp XML]. Như vậy, bạn có thể kết hợp tài nguyên bool với các tài nguyên đơn giản khác trong một tệp XML, dưới một phần tử
#FFFFFF #FFFF00 #FF00FF27
Vị trí tập tin¶
Tệp phải ở trong
#FFFFFF #FFFF00 #FF00FF28. Tên tệp là tùy ý. Tên của phần tử sẽ được sử dụng làm ID tài nguyên
Tài liệu tham khảo¶
Trong Java.
#FFFFFF #FFFF00 #FF00FF29
trong XML.
#FFFFFF #FFFF00 #FF00FF10
Cú pháp¶
#FFFFFF #FFFF00 #FF00FF63
Ví dụ¶
Tệp XML được lưu tại
#FFFFFF #FFFF00 #FF00FF11
#FFFFFF #FFFF00 #FF00FF64
Mã ứng dụng này truy xuất boolean
#FFFFFF #FFFF00 #FF00FF65
Bố cục XML này sử dụng boolean cho một thuộc tính
#FFFFFF #FFFF00 #FF00FF66
Màu¶
Một giá trị màu được xác định trong XML. Màu được chỉ định với giá trị RGB và kênh alpha. Bạn có thể sử dụng tài nguyên màu ở bất kỳ nơi nào chấp nhận giá trị màu thập lục phân. Bạn cũng có thể sử dụng tài nguyên màu khi tài nguyên có thể vẽ được mong đợi trong XML [ví dụ:
#FFFFFF #FFFF00 #FF00FF12]
Giá trị luôn bắt đầu bằng ký tự pound [#] và sau đó là thông tin Alpha-Red-Green-Blue ở một trong các định dạng sau
#FFFFFF #FFFF00 #FF00FF
13#FFFFFF #FFFF00 #FF00FF
14#FFFFFF #FFFF00 #FF00FF
15#FFFFFF #FFFF00 #FF00FF
16
Ghi chú
Màu là một tài nguyên đơn giản được tham chiếu bằng cách sử dụng giá trị được cung cấp trong thuộc tính tên [không phải tên của tệp XML]. Như vậy, bạn có thể kết hợp các tài nguyên màu với các tài nguyên đơn giản khác trong một tệp XML, dưới một phần tử
#FFFFFF #FFFF00 #FF00FF27
Vị trí tệp -
#FFFFFF #FFFF00 #FF00FF3. Tên tệp là tùy ý. Tên của phần tử
#FFFFFF #FFFF00 #FF00FF19 sẽ được sử dụng làm ID tài nguyên
Tài liệu tham khảo¶
Trong Java.
#FFFFFF #FFFF00 #FF00FF20 Trong XML.
#FFFFFF #FFFF00 #FF00FF21
Cú pháp¶
#FFFFFF #FFFF00 #FF00FF67
Ví dụ¶
Tệp XML được lưu tại
#FFFFFF #FFFF00 #FF00FF3
#FFFFFF #FFFF00 #FF00FF68
Mã ứng dụng này truy xuất tài nguyên màu
#FFFFFF #FFFF00 #FF00FF69
XML bố cục này áp dụng màu cho một thuộc tính
#FFFFFF #FFFF00 #FF00FF80
Kích thước¶
Giá trị thứ nguyên được xác định trong XML. Một thứ nguyên được chỉ định với một số theo sau là một đơn vị đo lường. Ví dụ. 10px, 2in, 5sp. Android hỗ trợ các đơn vị đo lường sau
dp - Pixels độc lập với mật độ - Một đơn vị trừu tượng dựa trên mật độ vật lý của màn hình. Các đơn vị này có liên quan đến màn hình 160 dpi [số chấm trên inch], trên đó 1dp gần bằng 1px. Khi chạy trên màn hình có mật độ cao hơn, số pixel được sử dụng để vẽ 1dp được tăng tỷ lệ theo hệ số phù hợp với dpi của màn hình. Tương tự như vậy, khi trên màn hình có mật độ thấp hơn, số pixel được sử dụng cho 1dp được thu nhỏ lại. Tỷ lệ dp-to-pixel sẽ thay đổi theo mật độ màn hình, nhưng không nhất thiết phải theo tỷ lệ trực tiếp. Sử dụng đơn vị dp [thay vì đơn vị px] là một giải pháp đơn giản để làm cho kích thước chế độ xem trong bố cục của bạn thay đổi kích thước phù hợp với các mật độ màn hình khác nhau. Nói cách khác, nó cung cấp tính nhất quán cho các kích thước trong thế giới thực của các phần tử giao diện người dùng của bạn trên các thiết bị khác nhau
sp - Pixels độc lập với tỷ lệ - Đây giống như đơn vị dp, nhưng nó cũng được chia tỷ lệ theo tùy chọn kích thước phông chữ của người dùng. Bạn nên sử dụng đơn vị này khi chỉ định kích thước phông chữ, vì vậy chúng sẽ được điều chỉnh cho cả mật độ màn hình và tùy chọn của người dùng
pt - Điểm - 1/72 inch dựa trên kích thước vật lý của màn hình, giả sử màn hình có mật độ 72dpi
px - Pixels - Tương ứng với các pixel thực tế trên màn hình. Đơn vị đo lường này không được khuyến nghị vì biểu diễn thực tế có thể khác nhau giữa các thiết bị;
mm - Milimet - Dựa trên kích thước vật lý của màn hình
in - Inch - Dựa trên kích thước vật lý của màn hình
Ghi chú. Thứ nguyên là một tài nguyên đơn giản được tham chiếu bằng cách sử dụng giá trị được cung cấp trong thuộc tính tên [không phải tên của tệp XML]. Như vậy, bạn có thể kết hợp các tài nguyên thứ nguyên với các tài nguyên đơn giản khác trong một tệp XML, dưới một phần tử
#FFFFFF #FFFF00 #FF00FF27
Vị trí tệp -
#FFFFFF #FFFF00 #FF00FF28. Tên tệp là tùy ý. Tên của phần tử sẽ được sử dụng làm ID tài nguyên
Tài liệu tham khảo¶
Trong Java.
#FFFFFF #FFFF00 #FF00FF25
trong XML.
#FFFFFF #FFFF00 #FF00FF26
Cú pháp¶
#FFFFFF #FFFF00 #FF00FF81
Ví dụ¶
Tệp XML được lưu tại res/values/dimens. xml
#FFFFFF #FFFF00 #FF00FF1
Mã ứng dụng này truy xuất một thứ nguyên
#FFFFFF #FFFF00 #FF00FF2
Bố cục XML này áp dụng các kích thước cho các thuộc tính
#FFFFFF #FFFF00 #FF00FF3
TÔI¶
ID tài nguyên duy nhất được xác định bằng XML. Sử dụng tên bạn cung cấp trong phần tử
#FFFFFF #FFFF00 #FF00FF27, các công cụ dành cho nhà phát triển Android sẽ tạo một số nguyên duy nhất trong R của dự án của bạn. java mà bạn có thể sử dụng làm mã định danh cho tài nguyên ứng dụng [ví dụ: Chế độ xem trong bố cục giao diện người dùng của bạn] hoặc một số nguyên duy nhất để sử dụng trong mã ứng dụng của bạn [ví dụ: làm ID cho hộp thoại hoặc mã kết quả]
Ghi chú. ID là một tài nguyên đơn giản được tham chiếu bằng cách sử dụng giá trị được cung cấp trong thuộc tính tên [không phải tên của tệp XML]. Như vậy, bạn có thể kết hợp các tài nguyên ID với các tài nguyên đơn giản khác trong một tệp XML, dưới một phần tử
#FFFFFF #FFFF00 #FF00FF27. Ngoài ra, hãy nhớ rằng một tài nguyên ID không tham chiếu đến một mục tài nguyên thực tế;
Vị trí tệp -
#FFFFFF #FFFF00 #FF00FF28. Tên tệp là tùy ý
Tài liệu tham khảo
Trong Java.
#FFFFFF #FFFF00 #FF00FF30
trong XML.
#FFFFFF #FFFF00 #FF00FF31
cú pháp
#FFFFFF #FFFF00 #FF00FF85
Ví dụ¶
Tệp XML được lưu tại
#FFFFFF #FFFF00 #FF00FF32
#FFFFFF #FFFF00 #FF00FF86
Sau đó, đoạn mã bố cục này sử dụng ID "button_ok" cho tiện ích Nút
#FFFFFF #FFFF00 #FF00FF87
Lưu ý rằng giá trị
#FFFFFF #FFFF00 #FF00FF33 không bao gồm dấu cộng trong tham chiếu ID, vì ID đã tồn tại, như được định nghĩa trong id. xml ví dụ trên. [Khi bạn chỉ định ID cho tài nguyên XML bằng cách sử dụng dấu cộng—ở định dạng
#FFFFFF #FFFF00 #FF00FF34—điều đó có nghĩa là ID "tên" không tồn tại và nên được tạo. ]
Một ví dụ khác, đoạn mã sau sử dụng ID "dialog_exit" làm mã định danh duy nhất cho hộp thoại
#FFFFFF #FFFF00 #FF00FF88
Trong cùng một ứng dụng, ID "dialog_exit" được so sánh khi tạo hộp thoại
#FFFFFF #FFFF00 #FF00FF89
Số nguyên¶
Một số nguyên được định nghĩa trong XML
Ghi chú. Số nguyên là một tài nguyên đơn giản được tham chiếu bằng cách sử dụng giá trị được cung cấp trong thuộc tính tên [không phải tên của tệp XML]. Như vậy, bạn có thể kết hợp các tài nguyên số nguyên với các tài nguyên đơn giản khác trong một tệp XML, dưới một phần tử
#FFFFFF #FFFF00 #FF00FF27
Vị trí tệp -
#FFFFFF #FFFF00 #FF00FF28 Tên tệp tùy ý. Tên của phần tử
#FFFFFF #FFFF00 #FF00FF37 sẽ được sử dụng làm ID tài nguyên
Tài liệu tham khảo
Trong Java.
#FFFFFF #FFFF00 #FF00FF38
trong XML.
#FFFFFF #FFFF00 #FF00FF39
cú pháp
#FFFFFF #FFFF00 #FF00FF10
Ví dụ
Tệp XML được lưu tại
#FFFFFF #FFFF00 #FF00FF600
#FFFFFF #FFFF00 #FF00FF11
Mã ứng dụng này truy xuất một số nguyên
#FFFFFF #FFFF00 #FF00FF12
Mảng số nguyên¶
Một mảng các số nguyên được định nghĩa trong XML
Ghi chú. Mảng số nguyên là một tài nguyên đơn giản được tham chiếu bằng cách sử dụng giá trị được cung cấp trong thuộc tính tên [không phải tên của tệp XML]. Như vậy, bạn có thể kết hợp các tài nguyên mảng số nguyên với các tài nguyên đơn giản khác trong một tệp XML, dưới một phần tử
#FFFFFF #FFFF00 #FF00FF27
Vị trí tệp -
#FFFFFF #FFFF00 #FF00FF28. Tên tệp là tùy ý. Tên của phần tử
#FFFFFF #FFFF00 #FF00FF603 sẽ được sử dụng làm ID tài nguyên
Kiểu dữ liệu tài nguyên đã biên dịch - Con trỏ tài nguyên tới một mảng các số nguyên
Tài liệu tham khảo
Trong Java.
#FFFFFF #FFFF00 #FF00FF604
trong XML.
#FFFFFF #FFFF00 #FF00FF605
cú pháp
#FFFFFF #FFFF00 #FF00FF13
Ví dụ
Tệp XML được lưu tại
#FFFFFF #FFFF00 #FF00FF600
#FFFFFF #FFFF00 #FF00FF14
Mã ứng dụng này truy xuất mảng số nguyên
#FFFFFF #FFFF00 #FF00FF15
Mảng đã gõ¶
Một TypedArray được định nghĩa trong XML. Bạn có thể sử dụng điều này để tạo một mảng các tài nguyên khác, chẳng hạn như các tài nguyên có thể vẽ được. Lưu ý rằng mảng không bắt buộc phải đồng nhất, vì vậy bạn có thể tạo một mảng gồm các loại tài nguyên hỗn hợp, nhưng bạn phải biết loại dữ liệu nào và ở đâu trong mảng để bạn có thể lấy đúng từng mục với TypedArray's get. [] phương pháp
Ghi chú. Mảng đã nhập là một tài nguyên đơn giản được tham chiếu bằng cách sử dụng giá trị được cung cấp trong thuộc tính tên [không phải tên của tệp XML]. Như vậy, bạn có thể kết hợp các tài nguyên mảng đã nhập với các tài nguyên đơn giản khác trong một tệp XML, dưới một phần tử
#FFFFFF #FFFF00 #FF00FF27
Vị trí tệp -
#FFFFFF #FFFF00 #FF00FF28. Tên tệp là tùy ý. Tên của phần tử
#FFFFFF #FFFF00 #FF00FF609 sẽ được sử dụng làm ID tài nguyên
Kiểu dữ liệu tài nguyên đã biên dịch - Con trỏ tài nguyên tới một
#FFFFFF #FFFF00 #FF00FF610
Tài liệu tham khảo
Trong Java.
#FFFFFF #FFFF00 #FF00FF611
trong XML.
#FFFFFF #FFFF00 #FF00FF612
cú pháp
#FFFFFF #FFFF00 #FF00FF16
Ví dụ
Tệp XML được lưu tại
#FFFFFF #FFFF00 #FF00FF613
#FFFFFF #FFFF00 #FF00FF17
Mã ứng dụng này truy xuất từng mảng và sau đó lấy mục nhập đầu tiên trong mỗi mảng
#FFFFFF #FFFF00 #FF00FF18
Cung cấp Tài nguyên Thay thế¶
Thiết kế đáp ứng¶
Để tạo ra một thiết kế giao diện người dùng nổi bật, điều cần thiết đối với các nhà phát triển ứng dụng là tạo ra các ứng dụng hoạt động bình thường trên nhiều loại thiết bị. Để làm điều này, trước tiên chúng tôi chia các thiết bị di động Android thành nhiều loại [nhóm] khác nhau dựa trên kích thước màn hình và hiển thị như hình bên dưới
Các ứng dụng phải được thiết kế để hoạt động trên mọi mật độ màn hình cũng như kích thước màn hình khác nhau. Điều này có thể được thực hiện bằng cách tận dụng nhiều hệ thống do khung Android cung cấp
Giới thiệu Tài nguyên Thay thế¶
Một trong những công cụ mạnh mẽ nhất dành cho nhà phát triển là tùy chọn cung cấp "tài nguyên thay thế" dựa trên các tiêu chuẩn cụ thể như kích thước điện thoại, ngôn ngữ, mật độ, v.v. Các cách sử dụng phổ biến cho các nguồn lực thay thế bao gồm
- Các tệp bố cục thay thế cho các yếu tố hình thức khác nhau [i. điện thoại so với máy tính bảng]
- Tài nguyên chuỗi thay thế cho các ngôn ngữ khác nhau [i. e tiếng Anh vs tiếng Ý]
- Các tài nguyên có thể vẽ thay thế cho mật độ màn hình khác nhau [hiển thị bên dưới]
- Tài nguyên phong cách thay thế cho các phiên bản nền tảng khác nhau [Holo vs Material]
- Các tệp bố cục thay thế cho các hướng màn hình khác nhau [i. e chân dung so với phong cảnh]
Để chỉ định các lựa chọn thay thế dành riêng cho cấu hình cho một tập hợp tài nguyên, chúng tôi tạo một thư mục mới trong
#FFFFFF #FFFF00 #FF00FF21 ở dạng
#FFFFFF #FFFF00 #FF00FF615. Ví dụ: một phương pháp hay nhất là đảm bảo rằng tất cả hình ảnh được cung cấp cho [[mật độ nhiều màn hình. Working-with-the-ImageView#supporting-multiple-densities]]
Điều này đạt được bằng cách có các thư mục
#FFFFFF #FFFF00 #FF00FF616,
#FFFFFF #FFFF00 #FF00FF617 và
#FFFFFF #FFFF00 #FF00FF618 với các phiên bản khác nhau của cùng một hình ảnh. Sau đó, tài nguyên chính xác sẽ được hệ thống tự động chọn dựa trên mật độ thiết bị. Danh sách thư mục có thể giống như sau
#FFFFFF #FFFF00 #FF00FF19
Lưu ý rằng tất cả các tệp tài nguyên cần phải có cùng tên trong các thư mục khác nhau. Hệ thống này hoạt động với bất kỳ loại tài nguyên nào có nhiều vòng loại
Hiểu về Vòng loại¶
Android hỗ trợ một số từ hạn định cấu hình và bạn có thể thêm nhiều từ hạn định vào một tên thư mục, bằng cách tách từng từ hạn định bằng dấu gạch ngang. Các vòng loại phổ biến nhất được liệt kê dưới đây
Cấu hìnhVí dụMô tảNgôn ngữ_______1619,#FFFFFF #FFFF00 #FF00FF620Mã ngôn ngữ được chọn trên thiết bịKích thước màn hình
#FFFFFF #FFFF00 #FF00FF621,
#FFFFFF #FFFF00 #FF00FF622Chiều rộng tối thiểu của chiều cao hoặc chiều rộng của màn hình. Hướng màn hình
#FFFFFF #FFFF00 #FF00FF623,
#FFFFFF #FFFF00 #FF00FF624Màn hình ở chế độ dọc hoặc ngang. Mật độ màn hình
#FFFFFF #FFFF00 #FF00FF625,
#FFFFFF #FFFF00 #FF00FF626Mật độ màn hình thường được sử dụng cho hình ảnh thay thế. Phiên bản nền tảng
#FFFFFF #FFFF00 #FF00FF627,
#FFFFFF #FFFF00 #FF00FF628,
#FFFFFF #FFFF00 #FF00FF629Phiên bản nền tảng thường được sử dụng cho phong cách
Bạn có thể chỉ định nhiều từ hạn định cho một nhóm tài nguyên, được phân tách bằng dấu gạch ngang. Ví dụ:
#FFFFFF #FFFF00 #FF00FF630 áp dụng cho máy tính bảng tiếng Anh theo hướng ngang. Lưu ý rằng nếu bạn sử dụng nhiều từ hạn định cho một thư mục tài nguyên, bạn phải thêm chúng vào tên thư mục theo thứ tự được liệt kê trong bảng trên. Xem tài liệu chính thức để biết bộ vòng loại hoàn chỉnh có sẵn
Tạo tài nguyên thay thế¶
Trong Android Studio, cách dễ nhất để tạo tài nguyên thay thế là nhấp chuột phải vào thư mục con tài nguyên [tôi. e
#FFFFFF #FFFF00 #FF00FF631] trong thanh bên của dự án Android, sau đó sử dụng thuật sĩ
#FFFFFF #FFFF00 #FF00FF632 để chỉ định các hạn định mà bạn muốn [i. e
#FFFFFF #FFFF00 #FF00FF633]
Thao tác này sẽ tạo hai phiên bản của tệp bố cục, một cho chế độ "dọc" [dọc] và một cho "ngang" [ngang]. Nếu bạn thêm một nhãn khác vào phiên bản thứ hai của bố cục thì bạn sẽ thấy hiệu ứng này tự động khi xoay màn hình
Tóm lại, bạn có thể tạo bao nhiêu phiên bản của tệp tài nguyên tùy theo nhu cầu cho các tình huống khác nhau và sau đó phiên bản phù hợp nhất của tệp tài nguyên sẽ được hệ thống tự động chọn
Xác định cấu hình trong thời gian chạy¶
Khi ứng dụng đang chạy, chúng ta luôn có thể kiểm tra cấu hình hiện tại [hướng, kích thước màn hình, v.v.] bằng cách truy cập đối tượng Cấu hình thông qua
#FFFFFF #FFFF00 #FF00FF634 trong một hoạt động hoặc đối tượng ngữ cảnh. Ví dụ: để xác định hướng [dọc hoặc ngang] bên trong một hoạt động, chúng ta có thể thực hiện
#FFFFFF #FFFF00 #FF00FF0
Tương tự, chúng ta có thể truy cập điều này trong bất kỳ đối tượng nào bằng cách truy cập vào một đối tượng [[Context. Sử dụng-Bối cảnh]]. Ví dụ: trong một
#FFFFFF #FFFF00 #FF00FF635 bằng cách sử dụng
#FFFFFF #FFFF00 #FF00FF636 để truy cập các cấu hình
Tệp bố cục thay thế¶
Các tài nguyên thay thế thường được sử dụng để chỉ định các tệp bố cục khác nhau cho điện thoại và máy tính bảng. Điều này có thể được thực hiện bằng cách sử dụng vòng loại "chiều rộng nhỏ nhất" của
#FFFFFF #FFFF00 #FF00FF637. Cấu trúc thư mục có thể được thiết lập như sau
#FFFFFF #FFFF00 #FF00FF1
Nói chung, điện thoại và phablet nằm trong khoảng từ
#FFFFFF #FFFF00 #FF00FF638 đến
#FFFFFF #FFFF00 #FF00FF639. Máy tính bảng 7" là
#FFFFFF #FFFF00 #FF00FF640 và máy tính bảng 10" là
#FFFFFF #FFFF00 #FF00FF641. Bạn cũng có thể chỉ cần thêm các từ hạn định như
#FFFFFF #FFFF00 #FF00FF642 để áp dụng cho tất cả các thiết bị ở chế độ nằm ngang. Dưới đây là một ví dụ minh họa về quy trình trên
Để có hướng dẫn chi tiết về cách quản lý bố cục đáp ứng cho máy tính bảng, hãy xem hướng dẫn [[Giao diện người dùng linh hoạt]] của chúng tôi. Bạn cũng có thể xem lại bài viết này về các phương pháp hay nhất về thiết kế giao diện người dùng và tài liệu chính thức này về tài nguyên để biết thêm chi tiết
Ngoài ra còn có một danh sách các kích thước và màn hình điện thoại Android mà mỗi người sử dụng mà bạn có thể tìm thấy tại đây
Các phương pháp hay nhất về bố cục¶
Dưới đây là danh sách kiểm tra nhanh về cách bạn có thể đảm bảo rằng ứng dụng của mình hiển thị chính xác trên các màn hình khác nhau
- Tránh sử dụng các giá trị pixel được mã hóa cứng trong mã ứng dụng của bạn
- Sử dụng
#FFFFFF #FFFF00 #FF00FF
643 đúng cách và không bao giờ sử dụng#FFFFFF #FFFF00 #FF00FF
644 - Sử dụng các đơn vị
#FFFFFF #FFFF00 #FF00FF
645,#FFFFFF #FFFF00 #FF00FF
646 hoặc#FFFFFF #FFFF00 #FF00FF
647 khi chỉ định kích thước - Sử dụng các bố cục và bản vẽ thay thế để đảm bảo thiết kế đáp ứng khi cần
Xem lại phần còn lại của các phương pháp hay nhất để độc lập với màn hình trên hướng dẫn chính thức
Tài nguyên bí danh¶
Khi bạn có một tài nguyên mà bạn muốn sử dụng cho nhiều cấu hình thiết bị, bạn không cần đặt cùng một tài nguyên vào nhiều thư mục tài nguyên thay thế. Thay vào đó, bạn có thể tạo một tài nguyên thay thế đóng vai trò là bí danh cho một tài nguyên được lưu trong thư mục tài nguyên mặc định của bạn
Tài nguyên phù hợp nhất¶
Khi bạn yêu cầu một tài nguyên mà bạn cung cấp các giải pháp thay thế, Android sẽ chọn tài nguyên thay thế nào sẽ sử dụng trong thời gian chạy, tùy thuộc vào cấu hình thiết bị hiện tại. Đọc hướng dẫn tài nguyên chính thức để biết tổng quan chi tiết về cách trận đấu được chọn