2011-07-03 30 views
42

Trong một số hướng dẫn tạo kiểu tóc dành cho cha mẹ được sử dụng mà không thể tìm thấy trong phong cách android.R.style (* http://developer.android.com/reference/android/R.style.html).Tìm tất cả các kiểu có sẵn được xác định bởi chủ đề nền tảng Android

Một vài ví dụ là từ bài viết thanh tác vụ http://android-developers.blogspot.com/2011/04/customizing-action-bar.html. Nick sử dụng phong cách cha mẹ như:

<style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar"> 
... 
</style> 

hoặc

<style name="MyActionBarTabStyle" parent="android:style/Widget.Holo.Light.ActionBarView_TabView"> 
... 
</style> 

Nơi nào những phong cách cha mẹ đến từ đâu? Có thể liệt kê tất cả các kiểu gốc có sẵn không?

Cảm ơn.

Trả lời

64

Như đã trình bày trong bài viết "Applying Styles and Themes":

Nền tảng Android cung cấp một bộ sưu tập lớn của các phong cách và chủ đề mà bạn có thể sử dụng trong các ứng dụng của bạn. Bạn có thể tìm thấy một tham chiếu của tất cả các kiểu dáng có sẵn trong lớp R.style. Để sử dụng các kiểu được liệt kê tại đây, thay thế tất cả dấu gạch dưới trong tên kiểu có dấu chấm. Ví dụ: bạn có thể áp dụng chủ đề Theme_NoTitleBar với "@android:style/Theme.NoTitleBar".

Các R.style tham khảo, tuy nhiên, cũng không phải là tài liệu và không mô tả kỹ lưỡng phong cách, vì vậy xem mã nguồn thực tế cho những phong cách và chủ đề sẽ cung cấp cho bạn một sự hiểu biết tốt hơn về những gì thuộc tính phong cách mỗi người cung cấp. Đối với một tài liệu tham khảo tốt hơn để các phong cách Android và chủ đề, xem mã nguồn sau đây:

Những tập tin này sẽ giúp bạn tìm hiểu thông qua ví dụ. Ví dụ: trong mã nguồn của chủ đề Android , bạn sẽ tìm thấy một tuyên bố cho <style name="Theme.Dialog">. Trong định nghĩa này, bạn sẽ thấy tất cả các thuộc tính được sử dụng cho các hộp thoại kiểu được sử dụng bởi khung công tác Android .

+2

sẽ là tốt nếu ai đó có thể trỏ đến nguồn của các tệp ở trên mà tôi ca n duyệt chỉ các kiểu và chủ đề mà không cần tải xuống toàn bộ mã nguồn của android – moonlightdock

+5

tìm thấy các tệp tại http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/ frameworks/base/core/res/res/values ​​/ themes.xml?av = f – moonlightdock

+0

Điều đó thực sự giúp ích rất nhiều cho – Rasmus

3

Đối với "android: phong cách/Widget.Holo.Light.ActionBarView_TabView" nhìn thấy: http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_ActionBar_TabView ... và lưu ý mức API nó đã được giới thiệu tại!

Đối với "android: phong cách/Widget.Holo.Light.Spinner.DropDown.ActionBar" try: http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_DropDownItem_Spinner

Sau đó chỉ là phỏng đoán tốt nhất của tôi - Tôi không thể có được danh sách để thực sự thả xuống.

3

Parent thuộc tính là tùy chọn khi tạo riêng themes hoặc styles. Về cơ bản, thuộc tính parent được sử dụng để kế thừa các kiểu đã được xác định trong chính nền tảng đó.

Nếu muốn kế thừa theme hoặc style và ghi đè một số tính năng, chúng tôi có thể sử dụng thuộc tính parent.

Dưới đây là một liên kết cho tất cả available platform defined styles.

Và thêm một tip:

Nếu bạn muốn kế thừa của riêng bạn style mà bạn đã tạo một mình có nghĩa là làm theo ví dụ này để kế thừa.

<style name="MyDropDownNav.Red"> 
     <item name="android:textColor">#FF0000</item> 
    </style> 
2

Đây là Official Google's Documentation cho Default List của ThemesStyles Google Android Documentation

Bạn có thể Tìm đây trong tài liệu này

tôi biết câu trả lời cho câu hỏi trên kết thúc ở đây vẫn nhường chỗ thực hiện, vì nó sẽ rất hữu ích cho người mới ..

Làm thế nào để Thực hiện họ

Đây là những gì tôi nhận được từ themes.xml

<style name="Theme.NoTitleBar"> 
    <item name="android:windowNoTitle">true</item> 
</style> 

Bây giờ to implement nó trong dự án của tôi

tôi phải thêm dòng sau đây vào Styles.xml tập tin của tôi

<style name="AppTheme" parent="android:Theme.NoTitleBar" /> 

Trong này tôi đang tạo ra own theme tên "AppTheme" mà sẽ inherit thuộc tính của nó tôi từ already defined them by google. vì vậy tôi đang nhắc đến nó trong parent

Bằng cách nhìn vào themes.xmlstyles.xml sẽ không chỉ help to get the list of the already defined chủ đề và phong cách mà còn help novices to have an idea how to create chủ đề.

Đúng như chủ đề tôi đề cập ở đây trong parent đã được xác định bởi android vì vậy chúng tôi sẽ sử dụng nó bằng cách đặt trước các android: tên chủ đề ..

Nếu Bạn muốn inherit your created theme sau đó

<style name="Theme2" parent="AppTheme"> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
</style> 

sau đó chỉ cần cung cấp style name to the parent, tại đây tôi đang sử dụng Apptheme làm chủ đề gốc cho theme2

+0

không chỉ những cái tên mà còn có mã nguồn của chủ đề mặc dù nó không khác với giải pháp "Idolon" thay vì chỉ trỏ đến các trang khác nhau thuộc về google. –

Các vấn đề liên quan