Show TOC

Browserfenster- und Bildschirmgröße abfragenLocate this document in the navigation structure

Sie können die Darstellung Ihrer Anwendung bei einer Änderung der Größe des Browserfensters, der Größe oder Ausrichtung des Bildschirms oder des Endgerätes anpassen.

Kontext

Mit den Methoden der Schnittstelle IF_WD_CLIENT_INFORMATION können Sie informiert werden, wenn der Benutzer das mobile Endgerät dreht, das Browserfenster vergrößert oder verkleinert oder zum Abspielen Ihrer Anwendung auf ein anderes Endgerät wechselt. Mithilfe dieser Informationen können Sie in Ihrer Anwendung entsprechend reagieren.

Vorgehensweise

  1. Um eine Instanz der Schnittstelle IF_WD_CLIENT_INFORMATION zu erhalten, implementieren Sie einen Aufruf der Methode GET_CLIENT_INFORMATION der Schnittstelle IF_WD_APPLICATION (z.B. in der Methode WDDOINIT).
    Verwenden Sie zum Beispiel folgenden Code:
    Quellcode
    wd_this->get_componentcontroller_ctr( )->wd_get_api( )->get_application( )->get_client_information( ).
     
  2. Sie haben nun die folgenden Möglichkeiten, Eigenschaften des Clients abzufragen:
    • Verwenden Sie die folgenden Get-Methoden der Schnittstelle IF_WD_CLIENT_INFORMATION (z.B. in der Methode WDDOMODIFYVIEW) um die jeweils angegebenen Eigenschaften zu ermitteln:
      • GET_CLIENT_WIDTH
      • GET_CLIENT_HEIGHT
      • GET_SCREEN_WIDTH
      • GET_SCREEN_HEIGHT
      • GET_SCREEN_ORIENTATION
      • GET_DEVICE_TYPE

      Wenn die Anwendung nur mit einem Roundtrip (also ohne Ladeanimation) gestartet wird, stehen initial die Größen nicht zur Verfügung. Werden die Informationen an dieser Stelle benötigt, können Sie einen Ereignisbehandler registrieren. Dadurch wird ein Roundtrip ausgelöst. Wie Sie einen Ereignisbehandler registrieren, wird in den folgenden Schritten beschrieben.

    • Registrieren Sie einen Ereignisbehandler, der gerufen wird, wenn diese Eigenschaften geändert wurden. Gehen Sie dazu wie folgt vor:
      1. Legen Sie den Ereignisbehandler an (z.B. ONACTIONRESIZE).
      2. Verbinden Sie den Ereignisbehandler mit dem RESIZE-Ereignis (z.B. in der Methode WDDOMODIFYVIEW).

        Verwenden Sie dazu die Methode REGISTER der Schnittstelle IF_WD_CLIENT_INFORMATION.

        Sie können folgenden Code verwenden:
        Quellcode
        register(  
        event     =  if_wd_client_information =>e_event-resize   
        view      =  view   
        action    =  'RESIZE'  ).
      3. Implementieren Sie die Ereignisbehandlermethode. Sie können darin die folgenden Parameter abfragen:
        • OLD_SCREEN_WIDTH
        • SCREEN_WIDTH
        • OLD_SCREEN_HEIGHT
        • SCREEN_HEIGHT
        • OLD_WIDTH
        • WIDTH
        • OLD_HEIGHT
        • HEIGHT
        • OLD_ORIENTATION
        • ORIENTATION
        • OLD_DEVICETYPE
        • DEVICETYPE