Autore Topic: Ritagliare area clickabile  (Letto 1686 volte)

Offline liuk78

  • Utente junior
  • **
  • Post: 73
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Ritagliare area clickabile
« il: 30 Agosto 2011, 18:52:56 CEST »
0
Ciao a tutti
se io volessi ritagliare delle N aree clickabili da una immagine di sfondo come dovrei fare?

Provo a spiegarmi meglio postando questa immagine


Come faccio a creare N sezioni (da 1 a 13 nell'immagine) clickabili, da una sola immagine di sfondo?

Ho pensato a costruire lo sfondo mettendo N immagini sul Layout che abbia un orientamento horizontal o vertical a seconda del caso.
Ma essendo le aree geometriche totalmente random come faccio a gestire "il puzzle" solo con l'orientamento del Layout? Quindi ho scartato questa opzione.

Qualcuno sa da dove posso iniziare?

Grazie mille
« Ultima modifica: 30 Agosto 2011, 18:55:33 CEST da liuk78 »

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Ritagliare area clickabile
« Risposta #1 il: 30 Agosto 2011, 22:15:56 CEST »
0
puoi gestire l'evento onClick e capire dove hai cliccato leggendo le coordinate x,y.
Android applications: echlabSoftware

Offline liuk78

  • Utente junior
  • **
  • Post: 73
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Ritagliare area clickabile
« Risposta #2 il: 31 Agosto 2011, 09:56:54 CEST »
0
puoi gestire l'evento onClick e capire dove hai cliccato leggendo le coordinate x,y.

Questo vale per tutti i tipi di display?
Hai qualche esempio?

Grazie  :-P

Offline rs94

  • Utente normale
  • ***
  • Post: 227
  • Respect: +21
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Windows 8
Re:Ritagliare area clickabile
« Risposta #3 il: 31 Agosto 2011, 12:46:45 CEST »
0
Ovviamente utilizzando il metodo onClick per ricavare la x e la y diventa un'impresa adattarsi a tutti i display. Però non mi viene in mente altro per fare quello che hai chiesto :D
L'unica certezza è il dubbio.
Dubitare di se stessi è il primo segno di intelligenza.

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Ritagliare area clickabile
« Risposta #4 il: 31 Agosto 2011, 13:54:51 CEST »
0
Questo vale per tutti i tipi di display?
Devi memorizzarti le coordinate normalizzate nel range [0.0, 1.0] e poi adattarle al display in uso.
adb logcat | tee /tmp/logcat | grep TAG

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Ritagliare area clickabile
« Risposta #5 il: 31 Agosto 2011, 14:44:13 CEST »
0
Potresti fare la seguente cosa:
1. Ti crei un'immagine che contiene le aree cliccabili, in cui ogni area ha un colore differente.
2. Visualizzi l'immagine che vuoi che sia "interagibile"
3. al click, prendi il punto in cui hai cliccato, e nell'immagine che contiene solo le aree colorate (punto 1) controlli il colore presente: da questo saprai quale area hai cliccato.

Spero di essere stato chiaro.
Se hai dubbi, fammi sapere.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline liuk78

  • Utente junior
  • **
  • Post: 73
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Ritagliare area clickabile
« Risposta #6 il: 31 Agosto 2011, 15:13:46 CEST »
0
1. Ti crei un'immagine che contiene le aree cliccabili, in cui ogni area ha un colore differente.

l'esempio postato era generico, fatto per cercare di spiegarmi al meglio, lo sfondo su cui devo lavorare è una foto e quindi non posso aggiungere colori

2. Visualizzi l'immagine che vuoi che sia "interagibile"

Io devo visualizzare tutta la foto, ma forse non ho capito io cosa intendi  :-[

3. al click, prendi il punto in cui hai cliccato, e nell'immagine che contiene solo le aree colorate (punto 1) controlli il colore presente: da questo saprai quale area hai cliccato.

sai che non ho capito  :-[


Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Ritagliare area clickabile
« Risposta #7 il: 31 Agosto 2011, 15:40:07 CEST »
+1
Anche se hai una foto, non vuoi comunque delle aree cliccabili?
Quello che devi fare è creare un'immagine (un'altra) delle dimensioni della foto in cui ogni area abbia un colore diverso (chiamiamola B, mentre la foto la chiamiamo A).
B conterrà la "mappa" delle aree di A.

Visualizzi la foto (A) e, quando clicchi sulla stessa, prendi le coordinate x,y e con queste stesse coordinate verifichi nell'immagine B che colore c'è in quel punto.
In base al colore, risalirai all'area che hai cliccato.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline liuk78

  • Utente junior
  • **
  • Post: 73
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Ritagliare area clickabile
« Risposta #8 il: 31 Agosto 2011, 16:01:02 CEST »
0
Anche se hai una foto, non vuoi comunque delle aree cliccabili?
Quello che devi fare è creare un'immagine (un'altra) delle dimensioni della foto in cui ogni area abbia un colore diverso (chiamiamola B, mentre la foto la chiamiamo A).
B conterrà la "mappa" delle aree di A.

Visualizzi la foto (A) e, quando clicchi sulla stessa, prendi le coordinate x,y e con queste stesse coordinate verifichi nell'immagine B che colore c'è in quel punto.
In base al colore, risalirai all'area che hai cliccato.

Ok ora ho capito perfettamente  :D

Infatti stavo proprio pensando a
- "mappare" i margini delle varie arie
- al click verificare in che area predefinita dai margini storicizzati si trova il punto clickato

questa cosa della foto per colori cosi a occhio però mi sembra meno macchinosa.

Grazie  :-P

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Ritagliare area clickabile
« Risposta #9 il: 31 Agosto 2011, 16:02:10 CEST »
0
 ;-)
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline darkmax

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
    • Emoe - Agenzia di comunicazione Torino
  • Dispositivo Android:
    Samsung Galaxy S 3
  • Sistema operativo:
    Mac OS X
Re:Ritagliare area clickabile
« Risposta #10 il: 25 Febbraio 2013, 12:55:24 CET »
0
Ciao a tutti,
sono nuovo in android.. Dovrei fare la stessa cosa anche io..

Ho un'immagine e devo rendere delle zone cliccabili. Come faccio? Qualcuno ha del codice di esempio?

Grazie