Autore Topic: Errore cambio tema app  (Letto 560 volte)

Offline flashman

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
Errore cambio tema app
« il: 14 Gennaio 2015, 17:55:42 CET »
0
Salve ragazzi,

ho un grosso problema con il cambio del tema. Non capisco qualcosa e non riesco a risolvere.

Sto lavorando con Android Studio. Ho creato un app con blank activity e questo e' il setting di glade :

Codice (XML): [Seleziona]
android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.learn.mytorch"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }

In AndroidManifest.xml ho :
Codice (XML): [Seleziona]
android:theme="@style/AppTheme" >
e in styles.xml :
Codice (XML): [Seleziona]
<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    </style>

Ho vari problemi e domande:

1. Cosa vuol dire "Base application theme?
2. Lanciando l'app sull'emulatore e' tutto OK ma non compare l'icona e il tema e' differente da quello impostato.
3. Non riesco in alcun modo a cambiare tema. Ho provato Holo e pur non avendo errori nel codice quando lo carico su AVD (Nexus 5 API 21) l'app non parte.
4. Cosa collega il tema alle API ? Forse sono dipendenti ?

Qualche indicazione x capire o anche un tutorial che spieghi la cosa. Non riesco a venirne a capo. Ho soltanto capito che quando lancio l'app eredita il tema del dispositivo. Ma non capisco perche'. 




Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Errore cambio tema app
« Risposta #1 il: 14 Gennaio 2015, 18:12:43 CET »
0
Per vedere il cambio tema è sufficiente vedere il layout da xml. Consiglio.

Offline flashman

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
Re:Errore cambio tema app
« Risposta #2 il: 15 Gennaio 2015, 09:45:59 CET »
0
Si ho visto il layout xml. Ma sembra tutto ok.

Sono partito modificando il Manifest in questo modo :
Codice (XML): [Seleziona]
<application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@android:style/Theme.Holo">
        <activity
           android:name=".MainActivity"
           android:label="@string/app_name"

In activity_main.xml non ho alcun riferimento al tema.

Quando lancio l'applicazione ho questo errore :

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

Quindi si riferisce al file style.xml che non utilizzo da nessuna parte. Perche'?

Inoltre nella preview del file xml ho nel menu a tendina la possibilita' di selezionare vari temi.

Ma anche selezionandoli non mi cambia il codice.

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Errore cambio tema app
« Risposta #3 il: 15 Gennaio 2015, 12:34:30 CET »
0
Stai usando qualcosa dell'app compat che richiede di usare un tema derivante da appcompat...

Per caso l'activity estende "ActionBarActivity" ?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline flashman

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
Re:Errore cambio tema app
« Risposta #4 il: 15 Gennaio 2015, 13:12:33 CET »
0
Non mi sembra.

L'unica e' nel file styles.xml. Ma non lo uso da nessuna parte. E' quello di sopra e l'ho lasciato invariato. Devo forse toglierlo completamente ?

Ho cancellato completamente il file styles.xml. Il progetto compila e non ho errori. L'unico tema richiamato e' quello del manifest ma continuo ad avere errori.

Ho risolto grazie alla tua inidicazione. Activity estende "ActionBarActivity".

Ho visto che creando con Studio una blank l'estensione viene creata sempre in automatico. Come mai ? Dipende da Studio ?
Ho modificato a mano ed ho risolto?

E' forse un baco o c'e' un motivo particolare ?


« Ultima modifica: 15 Gennaio 2015, 13:27:44 CET da flashman »

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Errore cambio tema app
« Risposta #5 il: 15 Gennaio 2015, 13:40:03 CET »
+1
Non mi sembra.

L'unica e' nel file styles.xml. Ma non lo uso da nessuna parte. E' quello di sopra e l'ho lasciato invariato. Devo forse toglierlo completamente ?

Ho cancellato completamente il file styles.xml. Il progetto compila e non ho errori. L'unico tema richiamato e' quello del manifest ma continuo ad avere errori.

Ho risolto grazie alla tua inidicazione. Activity estende "ActionBarActivity".

Ho visto che creando con Studio una blank l'estensione viene creata sempre in automatico. Come mai ? Dipende da Studio ?
Ho modificato a mano ed ho risolto?

E' forse un baco o c'e' un motivo particolare ?

non è un baco, se vuoi creare un'app al giorno d'oggi la fai puntando al massimo sdk disponibile, cioè Lollipop.
Putroppo tante cose di lollipop non ci sono nel tema holo, quindi se vuoi una UI fissa tra le varie versioni di android, devi usare l'app compat library. Ecco perchè Android studio ha il template impostato su quello.
Tu puoi (anzi, dovresti) seguire le linee guida per avere l'app aggiornata:
AppCompat v21 &mdash; Material Design for Pre-Lollipop Devices! | Android Developers Blog
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline flashman

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
Re:Errore cambio tema app
« Risposta #6 il: 15 Gennaio 2015, 13:45:50 CET »
0
Grazie mille,

mi ha chiarito le cose. Leggo il link che mi  hai inviato e cerco di allinearmi.