2016-11-22 1 views
1

Ich habe eine Ansicht, die mein Layout enthält. Wenn eine Schaltfläche gedrückt wird, wird die Größe der Hauptansicht geändert, aber alle untergeordneten Elemente behalten die gleiche Höhe und Breite bei. Wie kann ich die Größe aller Objekte in der Hauptansicht ändern?Größe ändern alle Objekte in Sicht in Titan

zum Beispiel, wenn ich diesen:

var view = Ti.UI.createView({ 
    height:deviceHeight, 
    width:deviceWidth 
}); 

view.add(Ti.UI.createView({ 
    height:Ti.UI.SIZE, 
    width:Ti.UI.SIZE 
})); 

wie kann ich zum Beispiel der Secunde Ansicht der Größe, die die Tannen eines hinzugefügt wird?

Ich entwickle meine App in Titan im klassischen Modus.

Antwort

1

Da Sie SIZE als Größe für eine Ansicht angegeben haben, wird diese Größe beibehalten. Wie Sie nicht angegeben haben, musste eine Größe basierend auf dem übergeordneten Element festgelegt werden.

Der einzige Weg, dies zu tun ist, wenn Sie die Höhe und Breite als Prozentsatz angeben.

Wenn Ihr Inhalt tatsächlich dynamisch ist, könnten Sie es austricksen.

Wenn die Schaltfläche gedrückt wird, konvertieren Sie Ihre view in ein Bild mit var image = view.toImage().

Dann verstecken alle Inhalte, die Sie hinzugefügt haben und das Bild in Ihre Ansicht einfügen:

var image = view.toImage() 

var img = Ti.UI.createImageView({ 
    height: '100%', 
    width: '100%', 
    image: image 
}); 
view.add(img); 

Dann können Sie die Größe Ihrer view und der Inhalt ändern.

+1

danke es funktionierte. Ich habe ein Problem in Ihrem Code gefunden. Ore wechseln Sie von Ti.UI.createView zu Ti.UI.createImageView or statt image: image müssen Sie backgroundImage setzen: image –

+0

ah ja natürlich, sollte ImageView sein;) –

+0

Noch eine Frage. in android du bist code braucht viel zeit um auszuführen. Gibt es einen schnelleren Weg, das zu tun? –