Was ist ein "Panel" in einem Android-Fenster?

8

Die Referenzdokumentation für Android Window und verwandte Seiten (z. B. WindowManager.LayoutParams und Window.Callback) bezieht sich auf "Panels" an mehreren Stellen. Zum Beispiel hat die Window.Callback-Seite die folgenden.

  

Window.Callback API von einem Fenster zurück zu seinem Aufrufer. Dies ermöglicht die   Client zum Abfangen von Schlüsselversendungen, Panels und Menüs usw.

und

  

public abstract Zeigen Sie onCreatePanelView (int featureId) an

     

Hinzugefügt in API Level 1

     

Instanziieren Sie die Ansicht, die im Panel angezeigt werden soll   "FeatureId". Sie können null zurückgeben, in diesem Fall den Standardinhalt   (normalerweise ein Menü) wird für Sie erstellt.

     

Parameter    featureId: Welches Panel wird erstellt?

     

Rückkehr    view: Die Top-Level-Ansicht zur Platzierung im Panel.

WindowManager.LayoutParams scheint Panels als Windows-Typen zu sehen, z. B .:

  

TYPE_APPLICATION_PANEL Fenstertyp: Ein Panel über einer Anwendung   Fenster. TYPE_APPLICATION_SUB_PANEL Fenstertyp: Ein Unterfenster über   ein Anwendungsfenster TYPE_STATUS_BAR_PANEL Fenstertyp: Panel das   gleitet aus über die Statusleiste In Multiuser-Systeme zeigt auf alle   Benutzerfenster. TYPE_SYSTEM_DIALOG Fenstertyp: Fenster, das herausgleitet   aus der Statusleiste In Mehrbenutzer-Systemen wird auf allen Fenstern der Benutzer angezeigt.

Ich habe auch den Quellcode gelesen, war aber nicht in der Lage, wesentliche Fortschritte zu machen, ohne stundenlang zu arbeiten.

Was ist ein Windows-Panel, wie es in der Referenzdokumentation verwendet wird?

Was ist in diesem Zusammenhang die featureId? In onCreatePanelView (int featureId) oben scheint es eine ID zu sein, die zum Angeben des Panels verwendet wird, aber in anderen Kontexten scheint es verwendet zu werden, um eine Reihe von Windows-Features zu identifizieren, z. requestFeature ():

  

public boolean requestFeature (int featureId)

     

Hinzugefügt in API Level 1

     

Aktivieren Sie erweiterte Bildschirmfunktionen. Dies muss zuvor aufgerufen werden   setContentView (). Kann so oft wie gewünscht so lange wie möglich aufgerufen werden   ist vor setContentView (). Wenn nicht, werden keine erweiterten Funktionen aufgerufen   verfügbar sein. Sie können eine Funktion nicht deaktivieren, wenn sie angefordert wird. Sie   Verwenden Sie keine anderen Titelfunktionen mit FEATURE_CUSTOM_TITLE.

     

Parameter featureId: Die gewünschten Features, definiert als Konstanten nach   Fenster.

     

Rückgabe: Die Funktionen, die jetzt eingestellt sind.

Danke, Barry

    
Barry Holroyd 25.11.2015, 19:46
quelle

1 Antwort

6

Ich habe ein paar zusätzliche Forschungen dazu gemacht, hauptsächlich mit Android-Quellcode. In den meisten Fällen scheint Panel gleichbedeutend mit Sub-Window zu sein, da Unterfenster in WindowManager.LayoutParams definiert sind. Das heißt, Fenstertypen zwischen FIRST_SUB_WINDOW und LAST_SUB_WINDOW einschließlich.

Zum Beispiel aus WindowManagerGlobal.addView() :

%Vor%

Wenn jemand weiß, dass dies ungenau ist oder eine breitere oder andere Definition von Panel hat, lassen Sie mich / uns bitte wissen.

    
Barry Holroyd 09.12.2015 21:34
quelle