AnzeigemaskeDisplay Mask

Stellt den Bereich der Anzeige dar, in dem keine Inhalte angezeigt werden können.Represents the area of the display that is not functional for displaying content.

APIs im Surface Duo SDK interagieren mit dem Surface Duo-Gerät und sollten nicht aufgerufen werden, wenn deine App auf anderen Geräten ausgeführt wird.APIs in the Surface Duo SDK interact with the Surface Duo device, and should not be called when your app is running on other devices. Bevor du diese APIs aufrufst, solltest du prüfen, ob deine App auf einem Surface Duo-Gerät ausgeführt wird.Before calling these APIs, you should check whether your app is running on a Surface Duo device. Verwenden Sie den IsDualScreenDevice-Codeausschnitt, um diese Überprüfung durchzuführen.Use the IsDualScreenDevice code snippet to perform this check.

Wichtig

Ab dem 02-20-2020 SDK Preview-Update weist die DisplayMask-API die folgenden Änderungen auf.Starting with the 02-20-2020 SDK Preview update, the DisplayMask API has the following changes.

DisplayMask wurde derart aktualisiert, dass ein Begrenzungsrechteck zurückgegeben wird, das relativ zu den Metriken der Anzeige ist, basierend auf dem App-Kontext.DisplayMask has been updated to return a bounding rectangle relative to the display metrics based on the app context. Dies wirkt sich darauf aus, wie sich die API verhält, wenn Ihre App auf einem einzelnen Bildschirm ausgeführt wird, im Vergleich zur über zwei Bildschirme verteilten Ausführung.This affects how the API behaves when your app is running on a single screen vs. running spanned across two screens. (Ein Dienst, der zu einem beliebigen Zeitpunkt eine Ansicht erstellt hat, fällt in eine dieser beiden Kategorien.)(A service that created a view at any point will fall into one of these two categories.)

  • Bei Ausführung auf einem einzelnen Bildschirm:When running on a single screen:

    • Fenster- und Anzeigemetriken beziehen sich relativ auf die einzelne Anzeige.Windows and display metrics are in relation to that single display.
    • DisplayMask gibt eine leere Liste zurück.The DisplayMask returns an empty list. Es bildet keine Überschneidung mit dem Fenster.It will not intersect with the window.
  • Bei über zwei Bildschirme verteilter Ausführung:When running spanned across two screens:

    • Fenster- und Anzeigemetriken beziehen sich relativ auf beide Anzeigen, einschließlich der Anzeigemaske.Window and display metrics are in relation to both displays, including the display mask.
    • Das DisplayMask-Begrenzungsrechteck identifiziert den Bereich unter dem Hardwarescharnier im Verhältnis zum App-Fenster (DisplayMask = Scharniermaskenrechteck).The DisplayMask bounding rectangle will identify the area under the hardware hinge in relation to the app window (DisplayMask = hinge mask rectangle).

    Weitere Informationen finden Sie unter Surface Duo Blog.For more info, see the Surface Duo Blog.

import com.microsoft.device.display.DisplayMask;

MethodenMethods

Statische MethodenStatic methods

MethodeMethod BeschreibungDescription
fromResourcesRect(Context context)fromResourcesRect(Context context) Erstellt die Anzeigemaske gemäß „config_mainBuiltInDisplayMaskRect“.Creates the display mask according to config_mainBuiltInDisplayMaskRect.
fromResourcesRectApproximation(Context context)fromResourcesRectApproximation(Context context) Erstellt die Anzeigemaske gemäß „config_mainBuiltInDisplayMaskRectApproximation“, wobei es sich um die nächste rechteckbasierte Annäherung der Maske handelt.Creates the display mask according to config_mainBuiltInDisplayMaskRectApproximation, which is the closest rectangle-base approximation of the mask.

ObjektmethodenObject methods

MethodeMethod BeschreibungDescription
getBoundingRects()getBoundingRects() Gibt eine Liste von Rechtecken (Rects) zurück, von denen jedes das Begrenzungsrechteck für einen nicht funktionalen Bereich der Anzeige ist.Returns a list of Rects, each of which is the bounding rectangle for a non-functional area on the display.
getBoundingRectsForRotation(int rotation)getBoundingRectsForRotation(int rotation) Gibt eine Liste von Rechtecken (Rects) unter Berücksichtigung der Drehung zurück, von denen jedes das Begrenzungsrechteck für einen nicht funktionalen Bereich der Anzeige ist.Returns a list of Rects with respect to the rotation, each of which is the bounding rectangle for a non-functional area on the display.
getBounds()getBounds() Gibt den Begrenzungsbereich der Maske zurück.Returns the bounding region of the mask.

BeispielExample

Abrufen eines Anzeigemaskenrechtecks (Rect)Getting a display mask rect

DisplayMask displayMask = DisplayMask.fromResourcesRect(context);

List<Rect> masks = displayMask.getBoundingRectsForRotation(rotation);
Rect mask = new Rect();
if(!masks.isEmpty()) {
    mask = masks.get(0);
}

Öffentliche MethodenPublic methods

fromResourcesRectfromResourcesRect

public static DisplayMask fromResourcesRect(Context context)

Erstellt die Anzeigemaske gemäß „config_mainBuiltInDisplayMaskRect“.Creates the display mask according to config_mainBuiltInDisplayMaskRect.

ParametersParameters

Context contextContext context

Ein Kontext für die aktuelle Aktivität.A context for the current activity.

RückgabeReturns

DisplayMask

Die neue Anzeigemaske.The new display mask.

fromResourcesRectApproximationfromResourcesRectApproximation

public static DisplayMask fromResourcesRectApproximation(Context context)

Erstellt die Anzeigemaske gemäß „config_mainBuiltInDisplayMaskRectApproximation“, wobei es sich um die nächste rechteckbasierte Annäherung der Maske handelt.Creates the display mask according to config_mainBuiltInDisplayMaskRectApproximation, which is the closest rectangle-base approximation of the mask.

ParametersParameters

Context contextContext context

Ein Kontext für die aktuelle Aktivität.A context for the current activity.

RückgabeReturns

DisplayMask

Die neue Anzeigemaske.The new display mask.

getBoundingRectsgetBoundingRects

public List<Rect> getBoundingRects()

Gibt eine Liste von Rechtecken (Rects) zurück, von denen jedes das Begrenzungsrechteck für einen nicht funktionalen Bereich der Anzeige ist.Returns a list of Rects, each of which is the bounding rectangle for a non-functional area on the display.

RückgabeReturns

List<Rect>

Eine Liste der Begrenzungsrechtecke (Rects), eins für jeden Anzeigemaskenbereich.A list of bounding Rects, one for each display mask area.

getBoundingRectsForRotationgetBoundingRectsForRotation

public List<Rect> getBoundingRectsForRotation(int rotation)

Gibt eine Liste von Rechtecken (Rects) unter Berücksichtigung der Drehung zurück, von denen jedes das Begrenzungsrechteck für einen nicht funktionalen Bereich der Anzeige ist.Returns a list of Rects with respect to the rotation, each of which is the bounding rectangle for a non-functional area on the display.

ParametersParameters

int rotationint rotation

Die Drehung, um die die Maske gedreht werden soll.The rotation mask should rotate. Mögliche Werte sind Surface.ROTATION_0, Surface.ROTATION_90, Surface.ROTATION_180 und Surface.ROTATION_270.Possible values are Surface.ROTATION_0, Surface.ROTATION_90, Surface.ROTATION_180, Surface.ROTATION_270

RückgabeReturns

List<Rect>

Eine Liste der Begrenzungsrechtecke (Rects), eins für jeden Anzeigemaskenbereich.A list of bounding Rects, one for each display mask area.

getBoundsgetBounds

public Region getBounds()

Gibt den Begrenzungsbereich der Maske zurück.Returns the bounding region of the mask.

Es kann mehr als eine Maske geben, wobei dann die zurückgegebene Region nicht zusammenhängend und das Begrenzungsrechteck (Rect) bedeutungslos ist, wenn es nicht zuerst überschnitten wurde.There may be more than one mask, in which case the returned Region will be non-contiguous and its bounding rect will be meaningless without intersecting it first.

RückgabeReturns

Region

Der Begrenzungsbereich der Maske.The bounding region of the mask. Koordinaten sind relativ zur linken oberen Ecke der Inhaltsansicht in der Einheit „Pixel“.Coordinates are relative to the top-left corner of the content view and in pixel units.