Autore Topic: Ri-utilizzare gradiente ma con dolori diversi in base al tema  (Letto 588 volte)

Offline Premier

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • agrumiro
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Android 4.2.2
Ri-utilizzare gradiente ma con dolori diversi in base al tema
« il: 07 Febbraio 2011, 15:18:27 CET »
0
Ciao ragazzi,
ho necessità di cambiare il colore del gradiente in base al tema applicato all'activity.

Mi spiego,
ho due activity che hanno come sfondo un gradiente. Vorrei usare lo stesso drawable, tuttavia ho necessità di cambiare i colori del gradiente.
A tal fine ho creato due attributi nel file attrs.xml

Codice: [Seleziona]
  <attr name="backgroundTopColor" format="color" />
  <attr name="backgroundBottomColor" format="color" />

e li ho usati nel gradiente nel seguente modo

Codice: [Seleziona]
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <gradient
    android:startColor="?backgroundTopColor"
    android:endColor="?backgroundBottomColor"
    android:angle="270" />
  <corners android:radius="0dp" />
</shape>

Nel tema, infine, ho specificato i colori come segue

Codice: [Seleziona]
    <item name="backgroundTopColor">#FFFFFFFF</item>
    <item name="backgroundBottomColor">#FFFFFF00</item>

Purtroppo quando lancio l'applicazione ottengo il seguente errore

Codice: [Seleziona]
02-07 14:03:59.479: ERROR/AndroidRuntime(2096): Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2
02-07 14:03:59.479: ERROR/AndroidRuntime(2096):     at android.content.res.TypedArray.getColor(TypedArray.java:326)
02-07 14:03:59.479: ERROR/AndroidRuntime(2096):     at android.graphics.drawable.GradientDrawable.inflate(GradientDrawable.java:647)
02-07 14:03:59.479: ERROR/AndroidRuntime(2096):     at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:788)
02-07 14:03:59.479: ERROR/AndroidRuntime(2096):     at android.graphics.drawable.Drawable.createFromXml(Drawable.java:729)
02-07 14:03:59.479: ERROR/AndroidRuntime(2096):     at android.content.res.Resources.loadDrawable(Resources.java:1694)
02-07 14:03:59.479: ERROR/AndroidRuntime(2096):     ... 29 more


Qualcuno di voi sa come posso fare?

grazie

NB: Api level = 8

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:Ri-utilizzare gradiente ma con dolori diversi in base al tema
« Risposta #1 il: 07 Febbraio 2011, 15:44:27 CET »
0
hai provato a mettere il colore in formato 6caratteri invece che 8?
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 Premier

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • agrumiro
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Android 4.2.2
Re:Ri-utilizzare gradiente ma con dolori diversi in base al tema
« Risposta #2 il: 07 Febbraio 2011, 15:45:50 CET »
0
Si,
ho fatto diverse prove
1) #fff
2) #ffffff
3) #ffffffff

Ma non funziona.

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:Ri-utilizzare gradiente ma con dolori diversi in base al tema
« Risposta #3 il: 07 Febbraio 2011, 16:37:01 CET »
0
di preciso dove ti fa male il gradiente?  :D

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Ri-utilizzare gradiente ma con dolori diversi in base al tema
« Risposta #4 il: 07 Febbraio 2011, 16:47:51 CET »
0
Sostifuisci
<item name="backgroundTopColor">#FFFFFFFF</item>

con
<item name="backgroundTopColor">@color/colore1</item>

e definisci colore1 in questo modo
<color name="colore1">#ffffffff</color>

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Ri-utilizzare gradiente ma con dolori diversi in base al tema
« Risposta #5 il: 23 Febbraio 2011, 22:17:12 CET »
0
Novità?
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !