Android Wear-Typenerkennung - Rund oder Quadrat

8

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.

%Vor%

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.

    
Dev 23.07.2014, 10:06
quelle

4 Antworten

7

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.

    
Michał Tajchert 16.02.2015, 14:19
quelle
6

API 23 eingeführt:

isScreenRound ()

    
rmgoncalo 08.02.2017 15:49
quelle
1

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%     
Tapas Behera 23.07.2014 22:18
quelle
1

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 ).

    
matiash 23.07.2014 23:53
quelle

Tags und Links