Ich bin neugierig auf den Verschleißtyp, ob rund oder quadratisch, weil ich aufgrund des Gerätetyps verschiedene Ansichten für rund und quadratisch machen möchte. Von Dieser Beitrag habe ich weiß, dass in SDK-20 android.view.View
-Klasse hat einen neuen Listener zu Gerätetyp zu erkennen, mit diesem ich versuche, den Gerätetyp, aber nichts ist auf logcat drucken. Unten ist der Code, den ich ausprobiert habe.
XML-Dateien.
%Vor%Runde:
%Vor%Quadrat:
%Vor%Ich bin neu, um Entwicklung zu tragen, lass mich wissen, wo ich falsch liege. Helfende Hände werden sehr geschätzt.
Inoffizieller Weg (ohne WatchViewStub) - aber für mich war es viel einfacher. Ссылка
Kopieren Sie einfach die ShapeWear.java Klasse und abonnieren Sie das Screen Shape Erkennungsereignis setOnShapeChangeListener()
oder die Aufrufmethode ShapeWear.isRound()
(can throw Fehler ist Shape noch nicht bestimmt) oder ShapeWear. getShape()
- was zu ShapeWear.SHAPE_UNSURE
in führen kann gleiche Situation.
Verwenden Sie WatchViewStub, um die view.Later in der Layout-Datei aufzublasen, können Sie das Layout für jeden Watch-Typ wie folgt angeben. Es wird automatisch das richtige Layout auswählen, wie vom Gerät benötigt.
%Vor% Wenn Sie diese Informationen programmgesteuert abrufen müssen, fügen Sie einen Listener für setOnApplyWindowInsetsListener()
hinzu. Um dies auszulösen, müssen Sie auch aufrufen requestApplyInsets()
.
Wenn Sie dies nur wissen möchten, um zwischen zwei alternativen Layouts zu wechseln, können Sie die Klasse WatchViewStub
verwenden, die dies automatisch tut (docs hier ).
Tags und Links android android-wear