Nói chung, nếu bạn đặt "@android" trước một cái gì đó, nó có nghĩa là bạn đang tìm kiếm một tài nguyên quy định tại android gói, không phải trong dự án của bạn.
Ví dụ, nếu bạn đang cố gắng để có được một màu:
android:background="@android:color/holo_red_dark"
này sẽ có được màu sắc holo_red_dark Android. Bạn không có màu này được xác định trong dự án của bạn.
android:background="@color/my_red_color"
Điều này sẽ nhận được "my_red_color" được xác định trong dự án của bạn.
Các kiểu tương tự.
EDIT: Vấn đề là không có sự khác biệt giữa
parent="@style/MyStyle"
và
parent="MyStyle"
cho một phong cách tổng hợp trong dự án của bạn. Bạn cũng có thể chỉ cần viết
<style name="Widget.AppCompat.ActionBar.TabText" parent="@style/Base.Widget.AppCompat.ActionBar.TabText">
và nó sẽ hoạt động.
Do đó, có tính đến Base.Widget.AppCompat.ActionBar.TabText
được biên soạn trong biểu mẫu dự án của bạn thư viện hỗ trợ, bạn có thể thêm nó với @style
làm tiền tố hoặc không có. Tuy nhiên, @android:style/TextAppearance
là từ gói Android và đó là lý do tại sao bạn phải chỉ định @android:
làm tiền tố.
Tôi hy vọng điều này là rõ ràng ngay bây giờ
có thats sự khác biệt giữa \ @android: phong cách và \ @ style, nhưng tôi đang tìm sự khác biệt giữa cha mẹ = "\ @ style/TextAppearance" và parent = "TextAppearance" – wutzebaer
ok có nghĩa là không có sự khác biệt hoặc thêm \ @ style prefix đến thuộc tính cha hoặc không? – wutzebaer
Có - chỉ khi kiểu giới thiệu được xác định trong dự án của bạn (bởi bạn, nhà phát triển hoặc trong bất kỳ thư viện nào bạn đã thêm - trong trường hợp này là thư viện hỗ trợ). – DDsix