Nhận mảng màu từ tài nguyên Android
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 Show
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 2 được đề cập ở trênNameFileDescriptionColors 3Đối với các định nghĩa màu chẳng hạn như màu văn bảnDimensions 4Đối với các giá trị kích thước như paddingStrings 5Đối với các giá trị chuỗi chẳng hạn như văn bản cho titleStyles 6Đố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 Layouts7Đây là nơi chúng tôi đặt các tệp bố cục XML của mình. Menu XML 8Đây là nơi chúng tôi đặt các hành động trên menu AppBar của mình. Drawables 9Đây là nơi chúng tôi đặt hình ảnh và XML drawables. Màu sắc 3Đây là nơi chúng tôi đặt các định nghĩa về màu sắc. Thứ nguyên 4Đây là nơi chúng tôi đặt các giá trị thứ nguyên. Strings 5Đây là nơi chúng tôi đặt chuỗi. Styles 6Đâ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 5. 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 5 4 Bây giờ nếu tôi từng tham khảo tài nguyên chuỗi cho 56, 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ư 6 Để 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 57 được sử dụng để truy cập bất kỳ tài nguyên nào 8 Để 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 58 hoặc 59 để truy cập giá trị được cung cấp id tài nguyên 1 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 20 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 21 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 3 và tệp XML trông giống như sau
Màu sắc có thể được truy cập trong mã Java với 5 Đ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 2 Đó 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ụ. 23, 24. Kích thước phải được xác định trong 4 và tệp XML trông giống như sau 1 Kích thước có thể được truy cập trong mã Java với 2 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 3 Đó 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 26 trong một Hoạt động 60 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 61 Đ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 62 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
Vị trí tập tin¶Tệp phải ở trong 28. 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. 29 trong XML. 10 Cú pháp¶63 Ví dụ¶Tệp XML được lưu tại 11 64 Mã ứng dụng này truy xuất boolean 65 Bố cục XML này sử dụng boolean cho một thuộc tính 66 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ụ: 12) 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
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ử 27 Vị trí tệp - 3. Tên tệp là tùy ý. Tên của phần tử 19 sẽ được sử dụng làm ID tài nguyên Tài liệu tham khảo¶Trong Java. 20 Trong XML. 21 Cú pháp¶67 Ví dụ¶Tệp XML được lưu tại 3 68 Mã ứng dụng này truy xuất tài nguyên màu 69 XML bố cục này áp dụng màu cho một thuộc tính 80 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
Vị trí tệp - 28. 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. 25 trong XML. 26 Cú pháp¶81 Ví dụ¶Tệp XML được lưu tại res/values/dimens. xml 1 Mã ứng dụng này truy xuất một thứ nguyên 2 Bố cục XML này áp dụng các kích thước cho các thuộc tính 3 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ử 27, 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ả)
Vị trí tệp - 28. Tên tệp là tùy ý Tài liệu tham khảo Trong Java. 30 trong XML. 31 cú pháp 85 Ví dụ¶Tệp XML được lưu tại 32 86 Sau đó, đoạn mã bố cục này sử dụng ID "button_ok" cho tiện ích Nút 87 Lưu ý rằng giá trị 33 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 34—đ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 88 Trong cùng một ứng dụng, ID "dialog_exit" được so sánh khi tạo hộp thoại 89 Số nguyên¶Một số nguyên được định nghĩa trong XML
Vị trí tệp - 28 Tên tệp tùy ý. Tên của phần tử 37 sẽ được sử dụng làm ID tài nguyên Tài liệu tham khảo Trong Java. 38 trong XML. 39 cú pháp 10 Ví dụ Tệp XML được lưu tại 600 11 Mã ứng dụng này truy xuất một số nguyên 12 Mảng số nguyên¶Một mảng các số nguyên được định nghĩa trong XML
Vị trí tệp - 28. Tên tệp là tùy ý. Tên của phần tử 603 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. 604 trong XML. 605 cú pháp 13 Ví dụ Tệp XML được lưu tại 600 14 Mã ứng dụng này truy xuất mảng số nguyên 15 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
Vị trí tệp - 28. Tên tệp là tùy ý. Tên của phần tử 609 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 610 Tài liệu tham khảo Trong Java. 611 trong XML. 612 cú pháp 16 Ví dụ Tệp XML được lưu tại 613 17 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 18 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
Để 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 21 ở dạng 615. 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 616, 617 và 618 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 19 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,620Mã ngôn ngữ được chọn trên thiết bịKích thước màn hình 621, 622Chiề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 623, 624Màn hình ở chế độ dọc hoặc ngang. Mật độ màn hình 625, 626Mậ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 627, 628, 629Phiê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ụ: 630 á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 631) trong thanh bên của dự án Android, sau đó sử dụng thuật sĩ 632 để chỉ định các hạn định mà bạn muốn (i. e 633) 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 634 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 0 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 635 bằng cách sử dụng 636 để 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 637. Cấu trúc thư mục có thể được thiết lập như sau 1 Nói chung, điện thoại và phablet nằm trong khoảng từ 638 đến 639. Máy tính bảng 7" là 640 và máy tính bảng 10" là 641. Bạn cũng có thể chỉ cần thêm các từ hạn định như 642 để á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
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 Làm cách nào để tạo mảng màu trong android?Làm cách nào để tạo ArrayList màu Java? . “colorList” là tên của ArrayList và “ArrayList” là một lớp mà chúng ta phải nhập từ “java. gói sử dụng. ArrayList
Làm cách nào để sử dụng tài nguyên màu trong Android?Bạn cũng có thể sử dụng tài nguyên màu khi cần tài nguyên có thể vẽ được trong XML (ví dụ: android. drawable="@color/green" ). 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. #RGB. #ARGB.
Làm cách nào để mở XML màu trong Android Studio?Thêm màu vào ứng dụng của bạn . Trong Android Studio, mở màu. xml (ứng dụng > độ phân giải > giá trị > màu sắc. xml) Sau các màu hiện có, hãy xác định tài nguyên màu có tên là xanh lục bằng cách sử dụng giá trị đã chọn ở trên, #1B5E20 Làm cách nào để thêm tệp tài nguyên màu trong Android?(Lưu ý. Để thêm tài nguyên mới trước tiên hãy chọn ứng dụng trong tệp Trình khám phá dự án. Sau đó, sử dụng Tệp hoặc trình đơn ngữ cảnh, thường là nhấp chuột phải, sau đó nhấp vào tùy chọn Mới và chọn Tệp tài nguyên Android . Một tài nguyên màu không cần phải được lưu trữ trong colors. xml, các tên tệp khác có thể được sử dụng. ) |