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

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ắc

Ngoài ra, hãy lưu ý các tệp chính sau đây được lưu trữ trong thư mục



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

2 được đề cập ở trên

NameFileDescriptionColors


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

3Đối với các định nghĩa màu chẳng hạn như màu văn bảnDimensions


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

4Đối với các giá trị kích thước như paddingStrings


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

5Đối với các giá trị chuỗi chẳng hạn như văn bản cho titleStyles


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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 Layouts


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

7Đây là nơi chúng tôi đặt các tệp bố cục XML của mình. Menu XML


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

8Đây là nơi chúng tôi đặt các hành động trên menu AppBar của mình. Drawables


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

9Đây là nơi chúng tôi đặt hình ảnh và XML drawables. Màu sắc


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

3Đây là nơi chúng tôi đặt các định nghĩa về màu sắc. Thứ nguyên


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

4Đây là nơi chúng tôi đặt các giá trị thứ nguyên. Strings


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

5Đây là nơi chúng tôi đặt chuỗi. Styles


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

5



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

4

Bây giờ nếu tôi từng tham khảo tài nguyên chuỗi cho



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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ư



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

57 được sử dụng để truy cập bất kỳ tài nguyên nào



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

58 hoặc


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

59 để truy cập giá trị được cung cấp id tài nguyên



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

3 và tệp XML trông giống như sau



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

Màu sắc có thể được truy cập trong mã Java với



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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ụ.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

23,


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

24. Kích thước phải được xác định trong


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

4 và tệp XML trông giống như sau



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

1

Kích thước có thể được truy cập trong mã Java với



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

26 trong một Hoạt động



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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

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ử



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

27

Vị trí tập tin¶

Tệp phải ở trong



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

29

trong XML.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

10

Cú pháp¶



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

63

Ví dụ¶

Tệp XML được lưu tại



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

11



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

64

Mã ứng dụng này truy xuất boolean



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

65

Bố cục XML này sử dụng boolean cho một thuộc tính



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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

  • 
    
        name="white">#FFFFFF
        name="yellow">#FFFF00
        name="fuchsia">#FF00FF
    
    
    13
  • 
    
        name="white">#FFFFFF
        name="yellow">#FFFF00
        name="fuchsia">#FF00FF
    
    
    14
  • 
    
        name="white">#FFFFFF
        name="yellow">#FFFF00
        name="fuchsia">#FF00FF
    
    
    15
  • 
    
        name="white">#FFFFFF
        name="yellow">#FFFF00
        name="fuchsia">#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ử



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

27

Vị trí tệp -



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

3. Tên tệp là tùy ý. Tên của phần tử


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

19 sẽ được sử dụng làm ID tài nguyên

Tài liệu tham khảo¶

Trong Java.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

20 Trong XML.


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

21

Cú pháp¶



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

67

Ví dụ¶

Tệp XML được lưu tại



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

3



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

68

Mã ứng dụng này truy xuất tài nguyên màu



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

69

XML bố cục này áp dụng màu cho một thuộc tính



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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

  • 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ử



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

27

Vị trí tệp -



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

25

trong XML.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

26

Cú pháp¶



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

81

Ví dụ¶

Tệp XML được lưu tại res/values/dimens. xml



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

1

Mã ứng dụng này truy xuất một thứ nguyên



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

2

Bố cục XML này áp dụng các kích thước cho các thuộc tính



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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ử



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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ả)

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ử



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

27. 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 -



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

28. Tên tệp là tùy ý

Tài liệu tham khảo

Trong Java.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

30

trong XML.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

31

cú pháp



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

85

Ví dụ¶

Tệp XML được lưu tại



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

32



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

86

Sau đó, đoạn mã bố cục này sử dụng ID "button_ok" cho tiện ích Nút



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

87

Lưu ý rằng giá trị



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

88

Trong cùng một ứng dụng, ID "dialog_exit" được so sánh khi tạo hộp thoại



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

89

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ử



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

27

Vị trí tệp -



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

28 Tên tệp tùy ý. Tên của phần tử


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

37 sẽ được sử dụng làm ID tài nguyên

Tài liệu tham khảo

Trong Java.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

38

trong XML.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

39

cú pháp



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

10

Ví dụ

Tệp XML được lưu tại



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

600



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

11

Mã ứng dụng này truy xuất một số nguyên



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

12

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ử



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

27

Vị trí tệp -



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

28. Tên tệp là tùy ý. Tên của phần tử


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

604

trong XML.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

605

cú pháp



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

13

Ví dụ

Tệp XML được lưu tại



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

600



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

14

Mã ứng dụng này truy xuất mảng số nguyên



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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

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ử



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

27

Vị trí tệp -



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

28. Tên tệp là tùy ý. Tên của phần tử


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

610

Tài liệu tham khảo

Trong Java.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

611

trong XML.



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

612

cú pháp



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

16

Ví dụ

Tệp XML được lưu tại



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

613



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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

Nhận mảng màu từ tài nguyên Android

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

21 ở dạng


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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]]

Nhận mảng màu từ tài nguyên Android

Điều này đạt được bằng cách có các thư mục



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

616,


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

617 và


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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,


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

620Mã ngôn ngữ được chọn trên thiết bịKích thước màn hình


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

621,


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

623,


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

624Màn hình ở chế độ dọc hoặc ngang. Mật độ màn hình


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

625,


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

627,


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

628,


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

631) trong thanh bên của dự án Android, sau đó sử dụng thuật sĩ


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

632 để chỉ định các hạn định mà bạn muốn (i. e


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

633)

Nhận mảng màu từ tài nguyên Android

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

Nhận mảng màu từ tài nguyên Android

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

635 bằng cách sử dụng


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

637. Cấu trúc thư mục có thể được thiết lập như sau



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

1

Nói chung, điện thoại và phablet nằm trong khoảng từ



    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

638 đến


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

639. Máy tính bảng 7" là


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

640 và máy tính bảng 10" là


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

641. Bạn cũng có thể chỉ cần thêm các từ hạn định như


    name="white">#FFFFFF
    name="yellow">#FFFF00
    name="fuchsia">#FF00FF

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

Nhận mảng màu từ tài nguyên Android

Để 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
    
    
        name="white">#FFFFFF
        name="yellow">#FFFF00
        name="fuchsia">#FF00FF
    
    
    643 đúng cách và không bao giờ sử dụng
    
    
        name="white">#FFFFFF
        name="yellow">#FFFF00
        name="fuchsia">#FF00FF
    
    
    644
  • Sử dụng các đơn vị
    
    
        name="white">#FFFFFF
        name="yellow">#FFFF00
        name="fuchsia">#FF00FF
    
    
    645,
    
    
        name="white">#FFFFFF
        name="yellow">#FFFF00
        name="fuchsia">#FF00FF
    
    
    646 hoặc
    
    
        name="white">#FFFFFF
        name="yellow">#FFFF00
        name="fuchsia">#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

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 colorList = new ArrayList<>( ); where: “colorList” is the name of the ArrayList and “ArrayList” is a class that we have to import from the “java. util” package.

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. )