2015-04-25 14 views
5

Đây là câu hỏi khá cơ bản - Tôi hỗ trợ các phiên bản API 11+ và tôi muốn sử dụng chức năng trên điện thoại có phiên bản API mới hơn. Tuy nhiên, sẽ tốt hơn nếu tôi không phải định nghĩa lại phong cách của mình. Vì vậy, ví dụ, nếu, trong giá trị/styles.xml tôi có:Cách kế thừa từ kiểu được chỉ định từ một phiên bản api khác

<resources 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="Theme.MyApp.Input.Text"> 
    <item name="android:layout_width">match_parent<item> 
    <item name="android:layout_height>wrap_content</item> 
    </style> 
</resources> 

và sau đó trong giá trị-v14/styles.xml tôi có:

<resources 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="Theme.MyApp.Input.Text"> 
    <item name="android:textAllCaps">true</item> 
    </style> 
</resources> 

Sau đó, trên các thiết bị có API 14+, tôi sẽ nhận được sự kết hợp của hai kiểu.

Trả lời

2

Câu hỏi đặt ra là khá cũ nhưng nó có thể: Đoạn sau đây là từ các giá trị/styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="colorPrimary">@color/green</item> 
     <item name="colorPrimaryDark">@color/dark</item> 
     <item name="colorAccent">@color/green</item> 
     <item name="checkboxStyle">@style/AppTheme.CheckBox</item> 
    </style> 

Nếu bạn muốn kế thừa (cho ví dụ) cùng một phong cách và chuyên API> = 23 bạn phải xác định một giá trị/style-23.xml như sau:

<style name="AppTheme.AppTheme23" > 
    <item name="android:windowLightStatusBar">true</item> 
</style> 

rõ ràng trong AndroidManifest.xml chủ đề để xác định là:

android:theme="@style/AppTheme" 

Đó là tất cả mọi người!

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