2013-07-31 26 views
9

Hiện đang làm việc để di chuyển sang ActionBar trong thư viện hỗ trợ. Hiện đang cố gắng di chuyển các chủ đề cũ của tôi để kế thừa từ Theme.AppCompat.Light.DarkActionBar nhưng nó sẽ không diễn ra suôn sẻ.Thừa kế từ Chủ đề.AppCompat *

Nó là tốt nếu tôi áp dụng các chủ đề trong biểu hiện như vậy:

<activity 
    android:name="com.fitsby.LoginActivity" 
    android:screenOrientation="portrait" 
    android:theme="@style/Theme.AppCompat.Light.DarkActionBar" > 
</activity> 

Nhưng tôi nhận được một lỗi thời gian chạy, nói rằng LoginActivity (lớp con của ActionBarActivity) phải có một chủ đề mà kế thừa từ Theme.AppCompat , khi tôi làm như sau: trong styles.xml:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="android:typeface">sans</item> 
</style> 

và trong biểu hiện:

<activity 
    android:name="com.fitsby.LoginActivity" 
    android:screenOrientation="portrait" 
    android:theme="@style/AppTheme" > 
</activity> 

Bất kỳ ý tưởng nào tại sao điều đó đang xảy ra? Tôi không thấy có vấn đề gì, vì AppTheme rõ ràng thừa kế từ một trong các Chủ đề AppCompat.

+1

Bạn có nhiều thư mục giá trị (như cho các cấp API khác nhau) không? Nếu có, bạn có sử dụng phong cách đó trong tất cả chúng không? – Luksprog

+1

Điều đó đã kết thúc, nhờ đó, hoàn toàn chịu trách nhiệm về chương trình phụ trợ cho dự án, nhưng gần đây đã tiếp quản công việc thiết kế từ một thành viên nhóm đã quyết định rời đi, vì vậy những điều nhỏ nhặt như thế này đang gây ra một chút đau đầu. Nếu bạn muốn thay đổi nhận xét của mình thành câu trả lời, tôi sẽ đánh dấu đó là câu trả lời đúng. –

Trả lời

10

Nếu bạn có thư mục values khác nhau trong ứng dụng của mình, với các cấp API khác nhau, hãy đảm bảo rằng mỗi chủ đề trong số các thư mục đó mở rộng từ các chủ đề yêu cầu Theme.AppCompat.*.