Autore Topic: Bottone incorporato nel background  (Letto 242 volte)

Offline ziocooky

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy GT-I8190
  • Sistema operativo:
    Ubuntu 12.04 LTS
Bottone incorporato nel background
« il: 18 Luglio 2014, 11:40:51 CEST »
0
Buongiorno a tutti,
chiedo nuovamente il vostro aiuto visto che siete molto competenti. Sono nuovo del mondo della programmazione per android e vorrei chiedervi una curiosità.
Una volta definita la mia activity e impostato come background un immagine vorrei che una parte di questa diventasse un bottone. Mi spiego meglio, nel mio sfondo è presente un cuoricino e vorrei che cliccando sul cuoricino questo si comportasse come un bottone vero e proprio. Al click quindi mi si dovrebbe aprire una nuova activity. Il mio problema non risiede nell'impostare acitivity, intent e quant'altro, ma piuttosto nel rendere il cuore parte "attiva" del background.
E' possibile?
Grazie mille dell'aiuto.

Offline DenisProjects

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    NGM
  • Play Store ID:
    DenisProjects
  • Sistema operativo:
    Windows
Re:Bottone incorporato nel background
« Risposta #1 il: 18 Luglio 2014, 11:46:22 CEST »
0
Da quello che so ti posso dire questo :

se il cuore fa parte dell' immagine background non puoi farci nulla, pero', puoi aggiungere un imageview o un bottone e setare come background un cuore, poi, nella tua activity dichiari tutto e fai

imageview.setOnClickListener( new onClickListener){

Intent newat = new Intent(MainActivity.this, TuaActivity.class);
startActivity(newat);

Offline ziocooky

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy GT-I8190
  • Sistema operativo:
    Ubuntu 12.04 LTS
Re:Bottone incorporato nel background
« Risposta #2 il: 18 Luglio 2014, 11:50:37 CEST »
0
Grazie dell'aiuto. Però non è proprio quello che cercavo! Molto gentile comunque.

Offline DenisProjects

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    NGM
  • Play Store ID:
    DenisProjects
  • Sistema operativo:
    Windows
Re:Bottone incorporato nel background
« Risposta #3 il: 18 Luglio 2014, 11:52:40 CEST »
0
Come dicevo, se il cuoricino e' compreso nel background non penso che tu possa far qualcosa ...

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 596
  • Respect: +133
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Bottone incorporato nel background
« Risposta #4 il: 18 Luglio 2014, 14:07:02 CEST »
0
Come dice DenisProjects non è banale rendere "attiva" una parte di background. Non avrebbe nemmeno molto senso, anche perché in un dispositivo con risoluzione differente quel cuoricino potrebbe apparire in un'altra posizione, deformato o addirittura fuori schermo.

A parte la soluzione proposta da DenisProjects, che è la più semplice corretta, potresti fare l'override di onTouchEvent(MotionEvent event) e verificare che l'evento si sia verificato nell'area dove è rappresentato il cuoricino.

Codice (Java): [Seleziona]
float cuoreTop =  ...;
float cuoreTop =  ...;
float cuoreWidth =  ...;
float cuoreHeight =  ...;

@Override
public boolean onTouchEvent(MotionEvent event) {
  int actionMasked = event.getAction() & ACTION_MASK;
  if (actionMasked == MotionEvent.ACTION_UP) { //Se ho "sollevato" il dito
    float touchX = event.getRawX();
    float touchY = event.getRawY();
    if (touchX >= cuoreLeft && touchX <= cuoreLeft + cuoreWidth) {
      if (touchY >= cuoreTop && touchY <= cuoreTop + cuoreHeight) {
        //Ho cliccato nel cuore
        //TODO: gestisci qui il click
        return true; //Consuma l'evento touch
      }
    }
  }
  return super.onTouchEvent(event);
}
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.