BẠN CÓ THỂ TÙY BIẾN GIAO DIỆN CHO THIẾT BỊ ANDROID BẰNG NHỮNG CÁCH NÀO?

Kiểu và bối cảnh trên maylanhchuyennghiep.com cho phép bạn bóc riêng các cụ thể của thi công ứng dụng khỏi kết cấu và hành động trên giao diện tín đồ dùng, tựa như như những biểu định kiểu trong thiết kế web.

Bạn đang xem: Bạn có thể tùy biến giao diện cho thiết bị android bằng những cách nào?

Kiểu (style) là một trong những tập đúng theo thuộc tính chỉ định giao diện của một View.Kiểu hoàn toàn có thể chỉ định các thuộc tính như màu fonts chữ, size phông chữ, color nền, v.v.

Giao diện (theme) là một trong tập vừa lòng thuộc tính được áp dụng cho toàn bộ ứng dụng, chuyển động hoặc hệ phân cấp cho thành phần hiển thị, chứ không chỉ là một nguyên tố hiển thị riêng lẻ. Khi chúng ta áp dụng một giao diện, phần đa thành phần hiển thị trong áp dụng hoặc vận động sẽ vận dụng từng nằm trong tính mà giao diện đó hỗ trợ. Bối cảnh cũng hoàn toàn có thể áp dụng kiểu cho các thành phần không hẳn thành phần hiển thị, chẳng hạn như thanh trạng thái cùng nền cửa ngõ sổ.

Kiểu và đồ họa được khai báo trong tệp tài nguyên thứ hạng trong res/values/, thường xuyên tên là styles.xml.

*

Hình 1. Hai đồ họa được áp dụng cho và một hoạt động: Theme.AppCompat (bên trái) với Theme.AppCompat.Light (bên phải)

So sánh bối cảnh và kiểu

Giao diện cùng kiểu có nhiều điểm tương đồng nhưng bọn chúng lại được sử dụng cho các mục đích riêng. Giao diện và kiểu gồm cùng cấu tạo cơ bản: một cặp khoá-giá trị ánh xạ trực thuộc tính với tài nguyên.

Kiểu hướng dẫn và chỉ định thuộc tính cho một nhiều loại thành phần hiển thị cố thể.Ví dụ: kiểu hoàn toàn có thể chỉ định những thuộc tính của một nút. Nằm trong tính chúng ta chỉ định trong một mẫu mã là ở trong tính bạn có thể đặt trong tệp cha cục. Bằng cách trích xuất toàn bộ thuộc tính cho 1 kiểu, chúng ta cũng có thể dễ dàng áp dụng và gia hạn các ở trong tính kia trên nhiều tiện ích.

Giao diện xác định một tập hòa hợp tài nguyên mang tên mà bạn có thể tham chiếu theo kiểu, cha cục, tiện ích, v.v. Bối cảnh chỉ định tên ngữ nghĩa (chẳng hạn như colorPrimary) cho tài nguyên maylanhchuyennghiep.com.

Các vẻ bên ngoài và giao diện sẽ phối phù hợp với nhau. Ví dụ: chúng ta có thể có một kiểu chỉ định và hướng dẫn rằng 1 phần của nút là colorPrimary và một phần khác là colorSecondary. Định nghĩa thực tế về các màu đó được đưa ra vào giao diện. Lúc thiết bị chuyển sang chế độ ban đêm, ứng dụng của chúng ta có thể chuyển từ giao diện "sáng" sang bối cảnh "tối", đổi khác giá trị cho tất cả tên tài nguyên đó. Chúng ta không yêu cầu phải chuyển đổi kiểu, do kiểu đang thực hiện tên ngữ nghĩa chứ không phải phần khái niệm màu cố kỉnh thể.

Để hiểu thêm thông tin về cách thức phối kết hợp giữa đồ họa và kiểu, hãy xem bài đăng Định kiểu đến maylanhchuyennghiep.com: Giao diện cùng kiểu bên trên blog.

Tạo và áp dụng kiểu

Để tạo ra một mẫu mã hoặc giao diện mới, hãy mở tệp res/values/styles.xml của dự án. Đối với mỗi kiểu bạn có nhu cầu tạo, hãy làm theo công việc sau:

Thêm một nguyên tố

Bạn rất có thể áp dụng kiểu đến thành phần hiển thị như sau:

Mỗi trực thuộc tính được hướng đẫn trong kiểu dáng sẽ áp dụng cho một nguyên tố hiển thị nếu như thành phần hiển thị đó chấp nhận. Thành phần hiển thị chỉ dễ dàng bỏ qua đều thuộc tính nhưng mà nó ko chấp nhận.

Lưu ý: Chỉ thành phần mà chúng ta thêm ở trong tính style new nhận được các thuộc tính giao diện như vậy – đầy đủ thành phần hiển thị con sẽ không áp dụng những kiểu đó. Nếu bạn muốn thành phần hiển thị con kế thừa kiểu, hãy vận dụng kiểu đó bằng ở trong tính maylanhchuyennghiep.com:theme.

Tuy nhiên, cố kỉnh vì vận dụng một kiểu đến từng yếu tắc hiển thị, thường thì bạn sẽ áp dụng kiểu dưới dạng hình ảnh cho cục bộ ứng dụng, chuyển động hoặc tủ đựng đồ thành phần hiển thị.

Mở rộng và tuỳ chỉnh kiểu

Khi tự sản xuất kiểu, chúng ta phải luôn luôn mở rộng lớn kiểu hiện tại trên thư viện hỗ trợ hoặc khung để duy trì khả năng tương thích với phong cách giao diện người tiêu dùng của nền tảng.Để không ngừng mở rộng một kiểu, hãy chỉ định và hướng dẫn kiểu bạn có nhu cầu mở rộng bởi thuộc tính parent.Sau đó, bạn cũng có thể ghi đè những thuộc tính kiểu thừa kế và thêm nằm trong tính mới.

Ví dụ: chúng ta có thể kế thừa bối cảnh văn phiên bản mặc định của nền tảng gốc rễ maylanhchuyennghiep.com với sửa đổi giao diện đó như sau:

Tuy nhiên, các bạn phải luôn luôn kế thừa những kiểu ứng dụng cốt lõi trên Thư viện cung cấp maylanhchuyennghiep.com.Các mẫu mã trong tủ sách hỗ trợ hỗ trợ khả năng tương xứng với app maylanhchuyennghiep.com 4.0 (API cấp cho 14) trở lên bằng phương pháp tối ưu hoá từng kiểu cho những thuộc tính giao diện người dùng có sẵn trong mỗi phiên bản.Kiểu thư viện cung ứng thường mang tên tương từ bỏ như vẻ bên ngoài trên nền tảng, nhưng trong các số đó có AppCompat.

Để thừa kế kiểu trên tủ sách hoặc dự án công trình của riêng biệt bạn, hãy khai báo tên kiểu cội không có phần
maylanhchuyennghiep.com:style/ như trên.Ví dụ: lấy ví dụ sau kế thừa những kiểu đồ họa văn phiên bản trên tủ sách hỗ trợ:

Bạn cũng rất có thể kế thừa dạng hình (ngoại trừ các kiểu trên nền tảng) bằng cách mở rộng lớn tên của kiểu bằng ký hiệu vệt chấm, cầm vì thực hiện thuộc tính parent.Tức là hãy đặt tên kiểu bạn muốn kế vượt vào trước tên giao diện của bạn, phân bóc tách bằng dấu chấm. Các bạn chỉ nên tiến hành việc này khi không ngừng mở rộng kiểu của riêng biệt bạn, chứ chưa phải kiểu trên những thư viện khác. Ví dụ: kiểu sau đây kế thừa đầy đủ kiểu của kiểu dáng GreenText sinh sống trên, tiếp nối tăng kích cỡ văn bản:

Bạn có thể tiếp tục kế thừa các kiểu như vậy bao nhiêu lần tuỳ thích bằng phương pháp đưa chuỗi này vào thêm các tên.

Lưu ý: Nếu bạn sử dụng ký hiệu vết chấm để mở rộng một kiểu đồng thời thêm thuộc tính parent, thì kiểu gốc sẽ ghi đè số đông kiểu được kế thừa trải qua ký hiệu dấu chấm đó.

Để tìm phần đông thuộc tính chúng ta có thể khai báo bởi thẻ , hãy đọc bảng "thuộc tính XML" vào nhiều mã tham chiếu lớp. Tất cả thành phần hiển thị đều cung ứng thuộc tính XML trên lớp View cơ sở; nhiều thành phần hiển thị cũng thêm trực thuộc tính riêng của thiết yếu nó.Ví dụ: thuộc tính TextView XML bao gồm cả thuộc tính maylanhchuyennghiep.com:inputType mà chúng ta cũng có thể áp dụng mang đến thành phần hiển thị văn phiên bản nhận được giá trị nhập, ví dụ như dưới dạng một tiện ích EditText.

Áp dụng vẻ bên ngoài dưới dạng giao diện

Bạn hoàn toàn có thể tạo một giao diện y như cách chúng ta tạo kiểu. Điểm biệt lập là bí quyết bạn áp dụng kiểu đó: nắm vì vận dụng một hình dáng bằng thuộc tính style bên trên một nhân tố hiển thị, bạn áp dụng một giao diện bằng thuộc tính maylanhchuyennghiep.com:theme trên thẻ hoặc thẻ vào tệp maylanhchuyennghiep.comManifest.xml.

Ví dụ: sau đây là cách vận dụng giao diện "tối" vào Material thiết kế của Thư viện hỗ trợ maylanhchuyennghiep.com cho toàn cục ứng dụng:

và sau đây là cách áp dụng giao diện "sáng" chỉ cho một hoạt động:

Bây giờ, phần lớn thành phần hiển thị trong ứng dụng hoặc hoạt động sẽ vận dụng kiểu được xác định trong bối cảnh đã cho. Nếu một yếu tắc hiển thị chỉ hỗ trợ một số trực thuộc tính được khai báo vào kiểu, thì thành phần hiển thị đó chỉ áp dụng các thuộc tính kia và vứt qua những thuộc tính không được hỗ trợ.

Xem thêm: Bí Quyết Thi Bằng Lái Xe Máy Ở Thủ Đức Tphcm, Thi Bằng Lái Xe Máy Quận Thủ Đức Tphcm

Kể từ app maylanhchuyennghiep.com 5.0 (API cấp cho 21) cùng Thư viện cung cấp maylanhchuyennghiep.com phiên bản 22.1, bạn cũng có thể chỉ định nằm trong tính maylanhchuyennghiep.com:theme cho một thành phần hiển thị trong tệp tía cục.Thao tác này sẽ sửa đổi giao diện của nhân tố hiển thị kia và phần lớn thành phần hiển thị con. Điều này rất hữu dụng khi chuyển đổi bảng màu của đồ họa trong một phần cụ thể trên giao diện.

Các ví dụ như trước cho thấy thêm cách áp dụng một giao diện, chẳng hạn như Theme.AppCompat bởi vì Thư viện hỗ trợ maylanhchuyennghiep.com cung cấp. Tuy nhiên, thường xuyên thì bạn nên tuỳ chỉnh giao diện để cân xứng với chữ tín của ứng dụng. Cách tốt nhất để làm bởi vậy là không ngừng mở rộng các dạng hình này bên trên thư viện hỗ trợ và ghi đè một trong những thuộc tính, như biểu lộ trong phần tiếp theo.

Hệ thống phân cấp kiểu

maylanhchuyennghiep.com hỗ trợ nhiều cách để đặt giá chỉ trị đến thuộc tính trong ứng dụng maylanhchuyennghiep.com. Ví dụ: chúng ta cũng có thể trực tiếp để giá trị cho những thuộc tính trong bố cục, áp dụng kiểu mang lại thành phần hiển thị, áp dụng giao diện cho bố cục tổng quan và thậm chí hoàn toàn có thể đặt giá chỉ trị đến thuộc tính theo phương thức lập trình.

Khi chọn lựa cách định kiểu mang đến ứng dụng, hãy xem xét hệ thống phân cấp kiểu của maylanhchuyennghiep.com. Quan sát chung, chúng ta nên thực hiện càng nhiều hình ảnh và dạng hình càng giỏi để đảm bảo tính nhất quán. Nếu khách hàng chỉ định cùng thuộc tính cho nhiều vị trí, thì danh sách tiếp sau đây xác định đều thuộc tính cuối cùng cũng khá được áp dụng. Danh sách được thu xếp theo thứ tự ưu tiên từ cao nhất đến tốt nhất:

Áp dụng hình dáng cấp ký kết tự hoặc cung cấp đoạn văn bản trong vòng văn bạn dạng đối với các lớp bắt mối cung cấp từ TextView Áp dụng các thuộc tính theo phương thức lập trình Áp dụng thẳng từng nằm trong tính trơ tráo cho yếu tắc hiển thị Áp dụng kiểu đến thành phần hiển thị (View) kiểu mặc định Áp dụng một đồ họa cho một bộ sưu tập thành phần hiển thị (View), một chuyển động hoặc toàn cục ứng dụng

*

Hình 2. hình dạng trên span ghi đè hình dạng trên textAppearance.

Nếu bạn đang cố gắng định kiểu dáng cho vận dụng nhưng không thấy kết quả như hy vọng đợi, thì có công dụng là dạng hình khác đang ghi đè chuyển đổi của bạn. Ví dụ: nếu bạn áp dụng một bối cảnh cho áp dụng cùng với một kiểu cho 1 View riêng lẻ, thì những thuộc tính kiểu đang ghi đè đông đảo thuộc tính giao diện trùng khớp của View đó. Mặc dù nhiên, hãy để ý rằng hệ thống vẫn sử dụng mọi thuộc tính giao diện không xẩy ra kiểu ghi đè.

TextAppearance

Một tiêu giảm về kiểu là bạn chỉ hoàn toàn có thể áp dụng một kiểu cho từng View. Tuy nhiên, trong ở trong tính TextView, chúng ta có thể chỉ định trực thuộc tính TextAppearance. Thuộc tính này vận động tương trường đoản cú như kiểu, như minh hoạ trong lấy một ví dụ sau:

TextAppearance có thể chấp nhận được bạn xác định kiểu văn bạn dạng cụ thể trong khi vẫn để nguyên hình trạng của View cho những mục đích sử dụng khác. Mặc dù nhiên, hãy xem xét rằng nếu khách hàng trực tiếp xác minh một ở trong tính văn bạn dạng nào đó trên View hoặc ở 1 kiểu như thế nào đó, thì các giá trị đó sẽ ghi đè các giá trị TextAppearance.

TextAppearance cung cấp một số trực thuộc tính định kiểu mà lại TextView cung cấp. Để ráng được list thuộc tính đầy đủ, hãy coi TextAppearance.

Có một vài thuộc tính TextView thịnh hành không được bao gồm, sẽ là lineHeight, lines, breakStrategy và hyphenationFrequency. TextAppearance chỉ vận động ở cấp ký tự chứ chưa hẳn cấp đoạn văn bản, vậy nên các thuộc tính tác động đến toàn thể bố cục sẽ không được hỗ trợ.

Tuỳ chỉnh đồ họa mặc định

Khi các bạn tạo một dự án công trình bằng game maylanhchuyennghiep.com Studio, app maylanhchuyennghiep.com Studio sẽ vận dụng giao diện Material Design cho ứng dụng của công ty theo khoác định, như định nghĩa trong tệp styles.xml của dự án. Kiểu AppTheme này không ngừng mở rộng một bối cảnh trên thư viện hỗ trợ và gồm lệnh ghi đè cho các thuộc tính màu sắc mà những thành phần trên giao diện người tiêu dùng sử dụng, chẳng hạn như thanh vận dụng và nút hành vi nổi (nếu gồm sử dụng).Vì vậy, bạn có thể nhanh nệm tuỳ chỉnh kiến thiết màu của ứng dụng bằng cách cập nhật color được cung cấp.

Ví dụ: tệp styles.xml của bạn sẽ có dạng như sau:

Hãy lưu ý rằng thực chất thì những giá trị đẳng cấp tham chiếu đến các tài nguyên màu sắc khác, được xác định trong tệp res/values/colors.xml của dự án. Vì chưng vậy, sẽ là tệp chúng ta nên sửa đổi để biến đổi màu.Nhưng trước lúc bạn bắt đầu thay đổi đa số màu này, hãy xem trước color qua pháp luật màu của Material. Lao lý này khiến cho bạn chọn color trong bảng màu sắc của Material tương tự như xem trước các màu đó trong ứng dụng.

Sau khi bạn chọn xong xuôi màu, hãy update giá trị trong res/values/colors.xml:

#3F51B5 #303F9F #FF4081Sau đó, bạn cũng có thể ghi đè ngẫu nhiên kiểu nào không giống mà chúng ta muốn. Ví dụ: bạn cũng có thể thay chuyển màu sắc nền của chuyển động như sau:

Để biết danh sách các thuộc tính mà bạn cũng có thể sử dụng vào giao diện, hãy coi bảng trực thuộc tính trên R.styleable.Theme. Với khi thêm kiểu cho những thành phần hiển thị trong tía cục, chúng ta có thể tìm thấy các thuộc tính bằng cách xem bảng "XML attributes" ("thuộc tính XML") vào tham chiếu đi học thành phần hiển thị. Ví dụ: tất cả thành phần hiển thị đều cung cấp các ở trong tính XML bên trên lớp View cơ sở.

Hầu hết thuộc tính được vận dụng cho một số loại thành phần hiển thị cầm cố thể, còn một trong những khác áp dụng cho toàn bộ thành phần hiển thị.Tuy nhiên, một số trong những thuộc tính đồ họa nêu tại R.styleable.Theme sẽ vận dụng cho hành lang cửa số hoạt động, không vận dụng cho nguyên tố hiển thị trong cha cục.Ví dụ: windowBackground đổi khác nền hành lang cửa số và windowEnterTransition xác định hình ảnh động chuyển đổi được thực hiện khi hoạt động bắt đầu (để biết thông tin chi tiết, hãy coi nội dung bắt đầu Hoạt động bởi Ảnh động).

Thư viện hỗ trợ maylanhchuyennghiep.com cũng cung cấp các nằm trong tính không giống mà chúng ta cũng có thể sử dụng nhằm tuỳ chỉnh hình ảnh được không ngừng mở rộng trên Theme.AppCompat (chẳng hạn như nằm trong tính colorPrimary nêu trên). Chúng ta cũng có thể xem các phương thức hay tuyệt nhất này trong tệp attrs.xml của thư viện

Lưu ý: Tên ở trong tính trong thư viện cung cấp không áp dụng tiền tố maylanhchuyennghiep.com:. Lệnh này chỉ được dùng cho các thuộc tính trên size maylanhchuyennghiep.com.

Thư viện hỗ trợ cũng có không ít giao diện khác mà gồm thể bạn muốn mở rộng thay cho những giao diện nêu trên. Nơi tốt nhất có thể để xem các giao diện có sẵn là tệp themes.xml của thư viện.

Thêm kiểu đến phiên bản cụ thể

Nếu phiên phiên bản maylanhchuyennghiep.com mới bổ sung cập nhật một số ở trong tính hình ảnh mà bạn muốn sử dụng, thì chúng ta cũng có thể thêm các thuộc tính đó vào đồ họa mà vẫn tương xứng với phiên bản cũ. Bạn chỉ cần lưu một tệp styles.xml khác trong thư mục values, trong các số ấy có cỗ hạn định phiên bản tài nguyên. Ví dụ:

res/values/styles.xml # themes for all versionsres/values-v21/styles.xml # themes for API level 21+ onlyVì hầu hết phiên phiên bản đều dùng được những kiểu vào tệp values/styles.xml bắt buộc giao diện trong values-v21/styles.xml có thể kế thừa các kiểu đó.Do vậy, chúng ta có thể tránh tình trạng sao chép kiểu bởi cách bước đầu qua giao diện "cơ sở" rồi mở rộng giao diện đó trong những kiểu dành riêng cho phiên bản của bạn.

Ví dụ: nhằm khai báo hiệu ứng đổi khác cửa sổ cho maylanhchuyennghiep.com 5.0 (API cấp 21) trở lên, bạn phải sử dụng một vài thuộc tính mới. đồ họa cơ sở của chúng ta trong res/values/styles.xml hoàn toàn có thể có dạng như sau:

Bây giờ, chúng ta có thể áp dụng AppTheme vào tệp kê khai và khối hệ thống sẽ chọn các kiểu hiện có cho từng phiên phiên bản hệ thống.

Để hiểu biết thêm thông tin về kiểu cách sử dụng tài nguyên thay thế sửa chữa cho nhiều thiết bị, hãy xem thêm nội dung hỗ trợ tài nguyên.

Tuỳ chỉnh hình trạng tiện ích

Mỗi tiện ích trong khung với thư viện cung cấp đều bao gồm một thứ hạng mặc định. Ví dụ: khi bạn tạo loại cho ứng dụng bằng một giao diện trên tủ sách hỗ trợ, thực thể của Button sẽ tiến hành định kiểu bởi kiểu Widget.AppCompat.Button. Nếu như muốn áp dụng kiểu ứng dụng khác cho 1 nút (button), thì bạn cũng có thể thực hiện bởi thuộc tính style trong tệp ba cục. Ví dụ: mã tiếp sau đây áp dụng mẫu mã nút không con đường viền của thư viện:

Và nếu như muốn áp dụng hình dáng này cho số đông nút, thì chúng ta cũng có thể khai báo loại này vào buttonStyle của hình ảnh như sau:

Bạn cũng có thể mở rộng thứ hạng tiện ích, y hệt như khi không ngừng mở rộng bất kỳ kiểu dáng nào khác, rồi vận dụng kiểu tiện ích tuỳ chỉnh trong bố cục tổng quan hoặc giao diện của mình.

Tài nguyên khác