Koordinaten eine Images feststellen

AquaBall

Top Contributor
Meine App ist nun schon sehr komplex. Nun hab ich aber ein Problem, wo ich nicht mehr weiter weiß.
Die ganze Activity entsteht dynamisch. Einige Edits, SeekBars, ...
Und unter anderem auch ImageViews, die verschoben werden können.

Das passiert in einer eigenen ausgetesteten classe.
In einem Testprogramm funktioniert die ganze klasse perfekt.

In meiner "echten" Activity passt die Funktionalität (von allen Zahlen her) auch, aber das Image erscheint nicht am Screen, obwohl Visibility korrekt und ist alle Werte passen.
Allerdings irgendwo in eine FrameLayout in einem LinearLayout in einem ScrollView.
Nun ist das ganze zu komplex, um hier zu posten.

Aber anders gefragt:
Wie kann ich die absoluten Koordinaten eines Images am Screen herausfinden?
und
Wie kann ich feststellen, ob es evtl. hinter einem anderen versteckt ist?
 

AquaBall

Top Contributor
Ich frag nochmal:

Wie kann ich die absoluten Koordinaten eines Images am Screen herausfinden?
und
Wie kann ich feststellen, ob es evtl. hinter einem anderen versteckt ist, bzw. es dann in den Vordergrund bringen?
 

AquaBall

Top Contributor
Weil ich in anderem Post dazu gefragt wurde:
Ohne Hintergrundinfo´s wem du wie dein Image addest und anzeigst, kann ich dir leider nicht weiterhelfen.

Java:
OnCreate() {
FrameLayout frame=new FrameLayout(this);
hauptScreen.addView(frame, barParams);
SmartBar smartBar = new SmartBar(this);		// Das ist meine (inzwischen sehr komplexe) Klasse
frame.addView(smartBar, barParams);
smartBar.setupBar(frame);   // Ruft in der Classe auf:  
-->		((ViewGroup) frame).addView(mySymbol,  lpars );
}
 

AquaBall

Top Contributor
Java:
    	LayoutParams params = (LayoutParams) mySymbol.getLayoutParams();
    	params.leftMargin= newPosition;
    	mySymbol.setVisibility(View.VISIBLE);
    	mySymbol.setLayoutParams(params);

Ja, ich verschieb es bei OnTouch,
Im TestProgramm funktioniert es auch, aber im "echten" Programm erscheint das Symbol nicht. (Ich vermute es wird überdeckt.)
 

schlingel

Gesperrter Benutzer
Bei einem FrameLayout liegt ja alles darüber was nach dem ImageView zum Layout hinzugefügt wurde. Hast du schon gechecked, dass hier wirklich nichts darüber liegen kann?
 

AquaBall

Top Contributor
Das ist eigentlich so im Wesentlichen meine Frage:

Wie kann ich feststellen, was davor liegt?
und
Wie kann ich es in den Vordergrund bringen?
 
M

MiDniGG

Gast
Wie kann ich feststellen, was davor liegt?
Ich vermute mal, dass dies gar nicht möglich ist.
Wie kann ich es in den Vordergrund bringen?
Indem Du das entsprechende View als letztes Deinem FrameLayout hinzufügst.

Die Position eines Views lässt sich übrigens mit
Java:
view.getLocationOnScreen(location);
auslesen. Der Parameter location muss ein int[] mit der größe 2 sein. In dieses werden dann die x- und y-Koordinaten geklatscht.
 

AquaBall

Top Contributor
Indem Du das entsprechende View als letztes Deinem FrameLayout hinzufügst

Das hat geholfen!
Vielen Dank.

Ich hab mir die Verschachtelung der Layouts und Views angeschaut. (Gar nicht so einfach, weil sie ja dynamisch erstellt werden.) Und da war die Reihenfolge "falsch".
Noch komplizierter war's die Reihenfolge der Erzeugung sicherzustellen.

Bin nicht sicher, ob das in jeder Konstellation nun garantiert ist.
Kann ich ein addView() an einer gewissen Reihenfolge erzwingen?
 
Zuletzt bearbeitet:
M

MiDniGG

Gast
Naja. Die Methode addView liefert ja schon die Möglichkeit einen Index zu übergeben.

addView(child, index);

Allerdings musst Du dann halt wissen, wieviele Komponenten Du schon hast, denke ich zumindest.
In der Erklärung zu index steht:

index the position at which to add the child

Evtl. geht es auch, wenn Du den Index mit 9999999 setzt... Keine Ahnung. ;-)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N GPS Koordinaten via SMS verschicken Android & Cross-Platform Mobile Apps 3
L Android Wie erstelle ich eine dynamische Tabelle (TableLayout)? Android & Cross-Platform Mobile Apps 2
W Zur Laufzeit erstelltes MenuItem an eine View binden Android & Cross-Platform Mobile Apps 1
J Android Zugriff auf eine Datei, diese von einer anderen App erstellt wurde? Android & Cross-Platform Mobile Apps 11
W Pixel Farbe in eine andere Farbe ändern im ImageView von ein Icon Android & Cross-Platform Mobile Apps 14
S Sinnvollste weg eine SQLite DB mit Android auslesen Android & Cross-Platform Mobile Apps 7
L Regelmäßig eine Methode im Hintergund ausführen Android & Cross-Platform Mobile Apps 1
J Android Wann ist eine App privat? Android & Cross-Platform Mobile Apps 10
M Android Schreiben von JsonDaten in eine SqliteDB Android & Cross-Platform Mobile Apps 7
M Suche eine Webseite mit dem aktuelle Datum in XML Android & Cross-Platform Mobile Apps 18
R Android Eine Website-frame in einer App Android & Cross-Platform Mobile Apps 4
Robat Android Wie mache ich eine App mit verschiedenen Leveln? Android & Cross-Platform Mobile Apps 8
M [Android] Wie erstellt man eine Verknüpfung eines Ordners? Android & Cross-Platform Mobile Apps 7
R [ANDROID] Dynamisch eine Liste erweitern Android & Cross-Platform Mobile Apps 3
K Verständisfrage bzgl. Buttons und ihnen eine Funktion geben. Android & Cross-Platform Mobile Apps 3
X Android Wo gibts eine SortableListView? Android & Cross-Platform Mobile Apps 6
G eine Methode einer anderen Activity aufrufen Android & Cross-Platform Mobile Apps 9
S Android In Service überprüfen ob eine Activity gebunden ist? Android & Cross-Platform Mobile Apps 6
B TableLayout verhält sich nicht wie eine Tabelle Android & Cross-Platform Mobile Apps 3
L Android Eine Kleinigkeit für Profis Android & Cross-Platform Mobile Apps 2
A Android Eine Datei in Android löschen, aber wie ? Android & Cross-Platform Mobile Apps 24
U [Android] Eine Datei aus Jar-Archiv laden Android & Cross-Platform Mobile Apps 4
N Gibt es eine opensource Speech-to-Text engine? Android & Cross-Platform Mobile Apps 3
B Android Eine Warnung in der Console (Eclipse) auswerten Android & Cross-Platform Mobile Apps 3
T Android Ergebnis eines XML+XSLT "transform" in eine HTML - Datei schreiben (Android) Android & Cross-Platform Mobile Apps 2
M Eclipse: cdc.jar in eine Midlet Suite integrieren Android & Cross-Platform Mobile Apps 18
L SecurityException beim lesen/schreiben eine Datei Android & Cross-Platform Mobile Apps 7
H Gibt es eine Alternative zur Location API? Android & Cross-Platform Mobile Apps 4
F Wie komplex wäre eine Wecker-Applikation? Android & Cross-Platform Mobile Apps 5
F Images in Video umwandeln Android & Cross-Platform Mobile Apps 0
H Android ListView Images aus dem Internet via Thread Android & Cross-Platform Mobile Apps 3
M 2 Images Faden Android & Cross-Platform Mobile Apps 5

Ähnliche Java Themen

Neue Themen


Oben