Ho una schermata di accesso con marchio diverso per le diverse versioni della mia applicazione. Ho bisogno che l'immagine di sfondo sia diversa nel file di layout per questa schermata, quindi voglio indicare uno stile diverso per il contenitore di livello superiore. Sono un po 'in perdita su come farlo.Come fare riferimento a uno stile in un tema personalizzato
ho dichiarato un qualcosa di styleable simile:
<resources>
<declare-styleable name="ThemeBase">
<attr name="loginPageContainerStyle" format="reference" />
</declare-styleable>
</resources>
Ho diversi temi diversi per l'applicazione, in quanto tale:
<resources>
<style name="ThemeBase" parent="android:style/Theme.Light" />
<style name="ThemeOne" parent="ThemeBase">
<item name="loginPageContainerStyle">@style/loginPageContainerThemeOne</item>
</style>
<style name="ThemeTwo" parent="ThemeBase">
<item name="loginPageContainerStyle">@style/loginPageContainerThemeTwo</item>
</style>
</resources>
E ho definito i seguenti stili:
<resources>
<style name="loginPageContainerThemeOne">
<item name="android:background">@drawable/background_theme_one</item>
</style>
<style name="loginPageContainerThemeTwo">
<item name="android:background">@drawable/background_theme_two</item>
</style>
</resources>
E infine un file login.xml qualcosa del tipo:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/loginRoot"
style= [ ? WHAT GOES HERE ? ]
android:gravity="center_horizontal"
android:orientation="horizontal">
[ LAYOUT STUFF ... ]
</LinearLayout>
Sto facendo qualcosa di sbagliato? Questo può essere fatto in questo modo?
Grande esempio con tema e stili Android. Basta menzionare che su AndroidManifest sul tag dell'applicazione è necessario aggiungere android: theme = "@ style/ThemeOne" o android: theme = "@ style/ThemeTwo" e questo è tutto ciò che dobbiamo sapere sui temi – Ragaisis
Grazie mille. Esattamente quello che stavo cercando. – dentex