1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Layout - maximal grosses Quadrat

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Javus, 17.10.2011.

  1. Javus, 17.10.2011 #1
    Javus

    Javus Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    17.10.2011
    Hallo!

    Ich bin ganz neu in der Android-Programmierung und habe eine vielleicht einfache Frage zum Layout. Ich möchte ein maximal grosses Quadrat auf den Bildschirm bringen. Sollte es ein Rechteck sein, würde ich in meinem Java-Programm Folgendes schreiben:

    LayoutParams myLayout = new LayoutParams (LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT) ;
    myView.setLayoutParams (myLayout) ;

    Aber ich möchte wie gesagt nur ein Quadrat; nur die kleinere Dimension des Elternfenster soll massgeblich sein.

    Wie geht das? :confused2:

    Javus
     
    Zuletzt bearbeitet: 17.10.2011
  2. nijoX, 17.10.2011 #2
    nijoX

    nijoX Junior Mitglied

    Beiträge:
    38
    Erhaltene Danke:
    5
    Registriert seit:
    06.09.2011
    höhe und breite auf match_parent setzen. Danach mit getHeight() und getWidth() überprüfen, welches das kleinere von beiden ist und das große dem kleinen anpassen.


    MfG nijoX
     
  3. Javus, 17.10.2011 #3
    Javus

    Javus Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    17.10.2011
    Ja, so sollte es gehen - nur was muss man zwischen dem Setzen der Maximalgrösse und der Überprüfung noch tun?

    Wenn ich direkt nach dem Kontruieren des View und des Setzen des Layouts getWidth() aufrufe, liefert es 0. Möglicherweise muss man die ganze Oberfläche erst anzeigen? Und wie kann man sie dann neu layouten??

    :confused2:
     
  4. nijoX, 17.10.2011 #4
    nijoX

    nijoX Junior Mitglied

    Beiträge:
    38
    Erhaltene Danke:
    5
    Registriert seit:
    06.09.2011
    erstmal malen also View.setLayoutParams dann width und height aufrufen ... und neu zuweisen. View.setLayoutParams nochmals aufrufen.

    MfG nijoX
     
  5. Javus, 17.10.2011 #5
    Javus

    Javus Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    17.10.2011
    Nein, das funktioniert bei mir leider nicht. SetLayoutParams malt nichts. Erst wenn das OnCreate meiner Activity vollkommen abgeschlossen ist, fängt das System an zu malen und ruft z.B. onLayout und onDraw meines Views auf.
     
  6. DieGoldeneMitte, 17.10.2011 #6
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Die Größe eines Views wird von Android durch (teilweise wiederholtes) Aufrufen der Methode onMeasure im Viewobjekt ausgehandelt. Dort kann man sich einklinken und mit setMeasuredDimension() dem System sagen, welche Größe man wirklich will.
     
    Javus bedankt sich.
  7. Javus, 17.10.2011 #7
    Javus

    Javus Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    17.10.2011
    Hat geklappt! :)
     

Diese Seite empfehlen