2015-04-25 7 views
5

Dies ist eine ziemlich grundlegende Frage - Ich unterstütze API-Versionen 11 und ich möchte die Funktionalität auf Handys verwenden, die eine neuere API-Version haben. Es wäre jedoch schön, wenn ich meinen Stil nicht neu definieren müsste. So zum Beispiel, wenn in Werte/styles.xml ich habe:Erben von einem Stil aus einer anderen API-Version

<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> 

und dann in Werte-v14/styles.xml ich habe:

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

Dann auf Geräte mit API 14+, ich werde die Vereinigung der beiden Stile erhalten.

Antwort

2

Die Frage ist ziemlich alt, aber es ist möglich: Der folgende Ausschnitt aus Werten ist/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> 

Wenn Sie (für zB) den gleichen Stil und sind spezialisiert auf die API erben wollen> = 23 Sie müssen unter einem Wert/style-23.xml definieren:

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

Offensichtlich im AndroidManifest.xml das Thema zu geben ist:

android:theme="@style/AppTheme" 

Das ist alles Leute!