German Auf einen von vielen Bildern zugreifen

Nachtfalke75

Member
Licensed User
Longtime User
Hallo,

ich hab mal wieder eine Frage.
Ich habe 14 Bilder
Dim Brett_Feld_1 As ImageView
Dim Brett_Feld_2 As ImageView
Dim Brett_Feld_3 As ImageView
....

und möchte gerne die Position der Bilder ermitteln.
und möchte eine sub schreiben, mit der ich diese ermitteln kann.

so z.B.

getXPosition(2)

Das würde dann die X-position von bild "Brett_Feld_2" zurückgeben.
Hat da vielleicht jemand einen Ansatz für mich?

Danke für die Hilfe im voraus,

Thorsten.
 

CDPeter

Member
Licensed User
Longtime User
Hi,
und möchte gerne die Position der Bilder ermitteln.
und möchte eine sub schreiben, mit der ich diese ermitteln kann.

mit

x=Brett_Feld_1.Left und y=Brett_Feld_1.Top

erhältst du dessen Koordinaten
mit

w=Brett_Feld_1.Width und h=Brett_Feld_1.Height

die Größe ...
LG von Peter
 

Vidar

Member
Licensed User
Longtime User
Hallo ihr zwei :)

So, wie Peter es gezeigt hat, ermittelt man die Eigenschaften der verschiedenen Views.
Allerdings weiss ich keinen Grund, warum man dafür eine Subroutine benötigen könnte.

Solltest du das dennoch wollen, sieh dir mal die GetView-Methode aus der Core-Bibliothek (Basic4android - Views (Core)) an. Damit könntest du dir eine entsprechende Routine bauen, was aber meiner Meinung nach mit Kanonen auf Spatzen geschossen wäre ;) Falls du es trotzdem machen willst, hier ein kleines Beispiel:

B4X:
Sub getXPosition(V As View) As Int
    For i = 0 To Activity.NumberOfViews - 1
        If Activity.GetView(i) = V Then
            Return V.Left
            Exit
        End If
    Next
End Sub

Aufgerufen würde das Ganze mit z.B.:
getXPosition(Brett_Feld_1)

Liefert aber dasselbe wie Brett_Feld_1.Left, daher ist die Subroutine nicht von nöten :)

Ich hoffe dir dadurch aber den Umgang mit Views ein wenig näher gebracht zu haben, falls du für ein Projekt mal Views durchiterieren möchtest ;)

Mit freundlichem Gruß
Michael
 

Nachtfalke75

Member
Licensed User
Longtime User
Hallo ihr zwei :)

So, wie Peter es gezeigt hat, ermittelt man die Eigenschaften der verschiedenen Views.
Allerdings weiss ich keinen Grund, warum man dafür eine Subroutine benötigen könnte.

Solltest du das dennoch wollen, sieh dir mal die GetView-Methode aus der Core-Bibliothek (Basic4android - Views (Core)) an. Damit könntest du dir eine entsprechende Routine bauen, was aber meiner Meinung nach mit Kanonen auf Spatzen geschossen wäre ;) Falls du es trotzdem machen willst, hier ein kleines Beispiel:

B4X:
Sub getXPosition(V As View) As Int
    For i = 0 To Activity.NumberOfViews - 1
        If Activity.GetView(i) = V Then
            Return V.Left
            Exit
        End If
    Next
End Sub

Aufgerufen würde das Ganze mit z.B.:
getXPosition(Brett_Feld_1)

Liefert aber dasselbe wie Brett_Feld_1.Left, daher ist die Subroutine nicht von nöten :)

Ich hoffe dir dadurch aber den Umgang mit Views ein wenig näher gebracht zu haben, falls du für ein Projekt mal Views durchiterieren möchtest ;)

Mit freundlichem Gruß
Michael

Super, Danke! Das hatte ich gemeint :)
 
Top