ImageView mit mehreren Intents belegen?

T

tobbbbi

Neues Mitglied
Threadstarter
Hallo!

Ich beschäftige mich seit ein paar Tagen mit der Android Entwicklung und mich würde Folgendes einfach mal interessieren:
Kann man eine angezeigte Grafik mit mehreren Intents belegen? Soll heißen, ich habe ein Bild und je nachdem an welche Stelle ich klicke kommen zB. unterschiedliche Soundeffekte.
Is so etwas direkt mit einem ImageView möglich oder muss ich da tricksen?
Mir ist spontan die Idee gekommen modifizierte Buttons an die entsprechenden Stellen zu setzen, welche dann die Aktionen auslösen.

Über Ideen würde ich mich sehr freuen.

Gruß
tobbbbi
 
T

the_alien

Experte
Ja. Hänge einen OnTouchListener an den ImageView und im MotionEvent, dass dir beim onTouch mitgegeben wird stehen die Koordinaten.

PS: Das geht mit jedem View, nicht nur ImageView.
 
T

tobbbbi

Neues Mitglied
Threadstarter
Genial, danke! Das ist ja absolut flexibel, genau das was ich mir vorgestellt habe.
Ich schau mal, ob ich das implementiert kriege.
 
S

swordi

Gewerbliches Mitglied
the_alien schrieb:
Ja. Hänge einen OnTouchListener an den ImageView und im MotionEvent, dass dir beim onTouch mitgegeben wird stehen die Koordinaten.

PS: Das geht mit jedem View, nicht nur ImageView.


und bei verschiedenen auflösungen?
 
T

the_alien

Experte
swordi schrieb:
und bei verschiedenen auflösungen?
Dann muss man es relativ umrechnen mit getWidth und getHeight.
Oder man legt ein Layout über den ImageView und hängt einen Listener an die unterschiedlichen Zellen...
 
T

tobbbbi

Neues Mitglied
Threadstarter
the_alien schrieb:
Dann muss man es relativ umrechnen mit getWidth und getHeight.
Oder man legt ein Layout über den ImageView und hängt einen Listener an die unterschiedlichen Zellen...
Ein GridLayout?

Mir ist auch die Idee gekommen ,dass man das Bild in mehrere Teile zerlegt und in einem Gridlayout in jedes Feld ein Imageview setzt. Dann können die einzelnen Bildteile separat angesprochen werden.
Ist aber denke ich mal keine so tolle Vorgehensweise.
 
T

the_alien

Experte
Wenn du es zur Laufzeit zerlegst kostet das zuviel CPU. Wenn du es vorher zerlegst und es skaliert wird, wird man die Fugen sehen können.
 
T

tobbbbi

Neues Mitglied
Threadstarter
the_alien schrieb:
Wenn du es zur Laufzeit zerlegst kostet das zuviel CPU. Wenn du es vorher zerlegst und es skaliert wird, wird man die Fugen sehen können.
Das heißt also, das Grid hat automatisch immer Ränder?
Wie wäre es dann mit einem absoluten Layout, mal abgesehen davon, dass es halt höchst unflexibel ist.
 
T

the_alien

Experte
Nein, ich meine wenn du das Bild in mehrere Teile zerlegst und in unterschiedlichen ImageViews anzeigst kann das zu Problemen führen. Beim Skalieren werden ja die benachbarten Bildpunkte mit in die Berechnung einbezogen. Teilst du das Bild aber in 4 Teile, dann kann man an den Rändern an denen die Teile zusammenstoßen nicht die benachbarten Bildpunkte mit einbeziehen, denn das Bild ist ja da zuende (technisch gesehen).
 
Oben Unten