Autore Topic: Confrontare colori  (Letto 1413 volte)

Offline peppe89

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    huawei ideos
  • Sistema operativo:
    windows 7
Confrontare colori
« il: 26 Gennaio 2011, 09:03:34 CET »
0
Ciao a tutti, magari per molti risulterà una cosa banale quindi mi scusa anticipatamente xD, ma sono alle prime armi...in pratica vi volevo chiedere come fare un confronto fra colori, o meglio ad esempio,  come controllare se la proprietà textcolor di un oggetto come un bottone, fosse di un colore tramite una if.
Credo che servi un metodo get specifico per questo ma non riesco a trovarlo.
quello che ho trovato è questo: getResource().getColor(...) ;

Grazie a tutti,
Ciao  ;-)

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Confrontare colori
« Risposta #1 il: 26 Gennaio 2011, 09:16:08 CET »
0
Ti ricavi la TextView tramite il metodo findViewById e poi usi il metodo getTextColor
Postate il LogCat LogCat LogCat LogCat LogCat

Offline peppe89

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    huawei ideos
  • Sistema operativo:
    windows 7
Re:Confrontare colori
« Risposta #2 il: 26 Gennaio 2011, 09:29:02 CET »
0
Il metodo getTextColor non esiste...c'è solo il metodo getTextColors che vuole come argomento un oggetto di tipo ColorStateList...
Quello che voglio io è fare una roba del genere(ovviamente con metodi esistenti):
if(button.getTextColor() == Color.Blue)

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Confrontare colori
« Risposta #3 il: 26 Gennaio 2011, 09:59:13 CET »
+1
Si, mi é saltata la s :P
Codice (Java): [Seleziona]
        Button b = (Button) findViewById(R.id.b);
        ColorStateList csl = b.getTextColors();
        int[] states = {View.VISIBLE};
        int color = csl.getColorForState(states, Color.BLUE);
color alla fine sará uguale al colore del testo del Button
« Ultima modifica: 26 Gennaio 2011, 10:01:08 CET da blackgin »
Postate il LogCat LogCat LogCat LogCat LogCat

Offline peppe89

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    huawei ideos
  • Sistema operativo:
    windows 7
Re:Confrontare colori
« Risposta #4 il: 26 Gennaio 2011, 10:43:40 CET »
0
Ma l'ultima riga cosa fa? il confronto??

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:Confrontare colori
« Risposta #5 il: 26 Gennaio 2011, 10:58:09 CET »
0
Ma l'ultima riga cosa fa? il confronto??
no,prende il colore della tua view nel caso di view.VISIBILE, quindi in stato normale.
Potresti anche prendere i colori per il pressed,focused ecc,ma a te serve il visibile, perchè il colore del testo è sempre quello
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 blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Confrontare colori
« Risposta #6 il: 26 Gennaio 2011, 11:25:17 CET »
+1
A quello che ti ha detto Nicola aggiungo solamente che il Color.BLUE é solo un valore di default (che ho messo io e che puoi cambiare con quello che vuoi) che viene ritornato in caso non sia settato un colore per il Button.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Confrontare colori
« Risposta #7 il: 26 Gennaio 2011, 11:28:09 CET »
+1
hai provato ad usare

Codice (Java): [Seleziona]
Button b = (Button) findViewById(R.id.b);
if(b.getCurrentTextColor()==Color.parseColor("#00FFBB"))
...

?

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:Confrontare colori
« Risposta #8 il: 26 Gennaio 2011, 11:28:18 CET »
+1
Vero, tu puoi settare i tuoi colori in un file xml in res/values e poi con getResources().getColor() ottieni il colore da te definito.
Io l'ho usato per settare i colori ad alcune TextView
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 peppe89

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    huawei ideos
  • Sistema operativo:
    windows 7
Re:Confrontare colori
« Risposta #9 il: 26 Gennaio 2011, 11:43:57 CET »
0
Grazie a tutti ragazzi ;)

Offline peppe89

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    huawei ideos
  • Sistema operativo:
    windows 7
Re:Confrontare colori
« Risposta #10 il: 26 Gennaio 2011, 14:45:20 CET »
0
riapro di nuovo questo topic per porvi un'altra domanda...ho provato a creare un codice che mi generi colori in maniera random,sembra giusto e nn mi da errori; ma quando lo avvio e cerco di di fargli cambiare colore, il testo del bottone sparisce. Sapete il perchè?
ecco il codice:
Codice (Java): [Seleziona]
                public void changeColor(Button b){
                       
                        String hex = getRandomColor();
                        int rcolor = Integer.parseInt(hex, 16);
                        b.setTextColor(rcolor);
                       
                }
                public  String getRandomColor() {

                    String hex1 = getRandomHex();
                    String hex2 = getRandomHex();
                    String hex3 = getRandomHex();
                    String hex4 = getRandomHex();
                    String hex5 = getRandomHex();
                    String hex6 = getRandomHex();

                    String color = /*"#" + */ hex1 + hex2 + hex3 + hex4 + hex5 + hex6;

                    return color;
                  }
                public  String getRandomHex() {
                    String[] hex = new String[] { "0", "1", "2", "3", "4", "5", "6", "7",
                        "8", "9", "A", "B", "C", "D", "E", "F" };
                    int randomNum =(int)(hex.length *Math.random());
                    String sHex = hex[randomNum];
                    return sHex;
                  }

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Confrontare colori
« Risposta #11 il: 26 Gennaio 2011, 15:52:39 CET »
+1
togliendo quello che hai commentato e usando b.setTextColor(Color.parseColor(hex));  ?

Offline peppe89

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    huawei ideos
  • Sistema operativo:
    windows 7
Re:Confrontare colori
« Risposta #12 il: 26 Gennaio 2011, 16:14:52 CET »
0
Risposta esatta ;) funziona...Grazie mille ( di nuovo)!! :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:Confrontare colori
« Risposta #13 il: 26 Gennaio 2011, 20:19:40 CET »
0
Ma non facevi prima con  Color.rgb(int, int, int)?