Trong một nét thanh tiến trình phong cách được định nghĩa làAndroid cú pháp kiểu thanh tiến trình
style="?android:attr/progressBarStyleHorizontal"
Tôi không rõ ràng về cách thức này công trình cú pháp. Ai đó có thể giải thích cú pháp này?
Trong một nét thanh tiến trình phong cách được định nghĩa làAndroid cú pháp kiểu thanh tiến trình
style="?android:attr/progressBarStyleHorizontal"
Tôi không rõ ràng về cách thức này công trình cú pháp. Ai đó có thể giải thích cú pháp này?
Cú pháp đó được sử dụng để tham chiếu thuộc tính kiểu hệ thống và cú pháp được sử dụng để tham chiếu tài nguyên được hệ thống Android xác định trước: trong khi trong trường hợp tài nguyên chung bạn sử dụng, ví dụ: @android:drawable/ic_media_play
để tham chiếu một đối tượng được thể hiện bằng tệp ic_media_play.png
trong giá trị thuộc tính android:src
cho phần tử giao diện ImageButton
được bao gồm trong bố cục XML, tham chiếu thuộc tính được tạo bằng cách sử dụng ?
thay vì @
, nhưng phần còn lại được tạo thành giống nhau quy tắc và hoạt động theo cùng một cách.
Đặc biệt, các thuộc tính thường được lưu trữ trong res/values/attrs.xml
, nơi bạn có thể tìm thấy (nhìn vào tài nguyên hệ thống lưu trữ trong Android SDK) sau
<attr name="progressBarStyleHorizontal" format="reference" />
chỉ ra rằng các thuộc tính là một tham chiếu đến một số tài nguyên khác . Thuộc tính phong cách được định nghĩa trong res/values/themes.xml
trong thời trang sau đây:
<item name="progressBarStyleHorizontal">
@android:style/Widget.ProgressBar.Horizontal
</item>
mà thực sự là một tham chiếu đến phong cách Widget.ProgressBar.Horizontal
trong hệ thống res/values/styles.xml
như đã được mô tả bởi câu trả lời khác.
Lưu ý rằng, trong bối cảnh khi hệ thống biết để mong đợi một tham chiếu đến một tài nguyên thuộc tính, thậm chí bạn có thể bỏ qua các loại tài nguyên (tức là attr/
phần), dẫn đến một cú pháp như:
android:textColor="?android:textColorSecondary"
bạn có thể tìm thấy một chút thêm thông tin về Android developer guide
android: attr nghĩa là phong cách này được chọn từ các khung của android. Vì vậy, nếu bạn duyệt nguồn styles.xml từ khung http://bit.ly/yBC5pM và tìm kiếm progressBarStyleHorizontal, Bạn có thể nhìn thấy nó được thừa hưởng từ Widget.ProgressBar.Horizontal
<style name="Widget.ProgressBar.Horizontal" parent="@style/Widget.ProgressBar"> <item name="maxHeight">20.0dip</item> <item name="indeterminateOnly">false</item> <item name="indeterminateDrawable">@drawable/progress_indeterminate_horizontal</item> <item name="progressDrawable">@drawable/progress_horizontal</item> <item name="minHeight">20.0dip</item> </style>
Tất cả các thuộc tính trên + tính từ Widget.Progressbar (Kể từ khi cha mẹ của nó là điều này) sẽ được kế thừa vào Progressbar của bạn.
câu hỏi của tôi có liên quan đến cú pháp trong đó phong cách được định nghĩa "style =" android:? attr /" – prashant
như guilio nói, phần cú pháp có thể được tìm thấy tại liên kết do anh ấy cung cấp – nandeesh