1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. Javus, 17.10.2011 #1
    Javus

    Javus Threadstarter Neuer Benutzer

    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

    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

    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

    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

    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

    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

    Hat geklappt! :)
     

Diese Seite empfehlen