2016-05-23 13 views
0

Ich habe ein Layout mit Summenangaben, wenn es im Hochformat ist. Aber wenn ich die Bildschirmausrichtung ändere, muss das Layout neu organisiert werden, damit es auf den gesamten Bildschirm passt. Das Problem ist, dass das Layout seine Dimensionen behält. Wenn das Layout also im Hochformat beginnt, ändert sich die Darstellung in Querformat. Das Layout behält die Hochformat-Konfiguration bei. Wie kann ich mein Layout so gestalten, dass es sich bei Änderungen der Bildschirmausrichtung automatisch umstellt?Reorganisation des Layouts bei der Orientierungsänderung in Titan

Wie ich meine Ansichten erstellen:

var deviceHeight = Ti.Platform.displayCaps.platformHeight, 
    deviceWidth = Ti.Platform.displayCaps.platformWidth, 
    platform = Ti.Platform.osname; 

    if (platform == 'android') { 
     deviceHeight = Math.round(Ti.Platform.displayCaps.platformHeight/Ti.Platform.displayCaps.logicalDensityFactor); 
     deviceWidth = Math.round(Ti.Platform.displayCaps.platformWidth/Ti.Platform.displayCaps.logicalDensityFactor); 
    } 

var View = Ti.UI.createView({ 
    height : deviceHeight, 
    width : deviceWidth, 
    backgroundColor : 'white', 
    layout : 'vertical' 
}); 

Antwort

2

Sehr wichtig: Geben Sie Breite nicht in Punkte/Pixel, sondern in Prozenten. Oder verwenden Sie die relative Breite. Wenn Sie eine Ansicht wollen zum Beispiel die volle Breite ist, minus 10 links und 10 rechts an, dass:

Ti.UI.createView(){ 
    left: 10, 
    right: 10 
} 

Treat Apps anders als Webseiten! Mach alles relativ. Es gibt so viele Auflösungen, dass es unmöglich ist, ein Layout pro Auflösung zu erstellen. Stellen Sie eine einzige Lösung für Mobilgeräte zusammen, und ordnen Sie möglicherweise etwas für Tablets neu an.

Wenn Sie wirklich wollen, manuell neu zu zeichnen, dieses Ereignis verwenden und nach wieder alle Ihre Ansichten neu definieren:

Ti.Gesture.addEventListener('orientationchange',function(e) { 
}); 

Damit dies funktioniert, müssen Sie einen Verweis halten, um alle Ihre Ansichten und einstellen, wo Sie möchten .

+0

Bitte Meer meine Bearbeitung des Beitrags –

+0

Sie wirklich nicht wollen, dass benutzerdefinierte mit Breite und Höhe des Geräts tun. Dann müssen Sie jedes Element manuell neu zeichnen. Siehe meine Bearbeitung –