In dieser Tipps-Serie haben wir uns einige der neuen Android-Funktionen und -Tools genauer angesehen, die auf der diesjährigen Google I / O vorgestellt wurden.
In diesem Beitrag konzentrieren wir uns auf Android Wear.
Google bietet bereits seit einiger Zeit Android Wear-UI-Komponenten über eine dedizierte Wearable-Support-Bibliothek an, aber dies wird sich bald ändern!
Auf der diesjährigen Veranstaltung gab Google bekannt, dass die verschiedenen Komponenten, aus denen die Wearable Support Library besteht, nicht mehr weiterentwickelt, zusammengelegt oder in die Android Support Library migriert werden sollen. In diesem Artikel wird gezeigt, welche Komponenten zusammengeführt, verschoben und entfernt werden und wie Sie das neue Wear-Modul der Android Support Library verwenden können heute.
Wir werden uns auch einige neue Tools ansehen, die die Arbeit mit der Komplikations-API von Android erleichtern.
Bei der diesjährigen Google I / O gab das Android Wear-Team bekannt, dass der Großteil der Wearable Support Library in die Android Support Library wechselt. Die Wear-spezifischen Komponenten bilden die Grundlage für ein neues Support-Wear-Modul, ähnlich wie andere Module in der Android Support Library, wie z Support-Recylerview
und Support-Design
.
Laut den Android Wear-Sitzungen bei Google I / O können wir davon ausgehen, dass dieses neue Wear-Modul gleichzeitig mit dem offiziellen Start von Android O aus der Betaversion aussteigt.
Jedoch nicht alles Komponenten aus der Wearable Support Library werden in die Android Support Library wechseln. Google gab außerdem bekannt, dass einige Komponenten aus der Wearable Support Library Folgendes sein werden:
Zusammengeführt. Komponenten, die sowohl für tragbare als auch für tragbare Geräte geeignet sind, werden entweder mit dem Android-Framework oder mit allgemeineren Unterstützungsmodulen zusammengeführt. Komponenten, die zusammengeführt werden sollen, umfassen CircledImageView
, DelayedConfirmationView
, und Aktionsknopf
.
Veraltet. Google wird die Android Wear-Benutzeroberflächen-Komponenten abschätzen, die mit Design-Mustern zusammenhängen, die sich bei Android Wear-Nutzern nicht als beliebt herausgestellt haben. Insbesondere entfernt Google das zweidimensionale räumliche Modell, mit dem Android Wear-Benutzer horizontal und vertikal bewegt werden können, und ersetzt es durch eine vertikale LinearLayout
. Alle dem zweidimensionalen räumlichen Modell zugeordneten Klassen werden nicht mehr unterstützt, einschließlich GridViewPager
, Aktionsschaltflächen und Aktionslayouts.
Obwohl diese Migration ein fortlaufender Prozess ist, hat Google bereits einige Android Wear-Komponenten in Version 26.0.0 Beta1 der Android Support Library integriert.
BoxInsetLayout
: Dies ist ein Bildschirmform-bewusst FrameLayout
So können Sie ein einziges Layout entwerfen, das für quadratische und runde Zifferblätter geeignet ist. Wenn Ihr Layout auf einem runden Bildschirm angezeigt wird, a BoxInsetLayout
wird alle seine Kinder in einem imaginären Quadrat in der Mitte des kreisförmigen Bildschirms einrahmen. Sie können festlegen, wie Ihre UI-Elemente in diesem mittleren Quadrat positioniert werden layout_box
Attribut. Wenn Ihre App auf einem quadratischen Bildschirm angezeigt wird, ignoriert Android die layout_box
Attribut und verwendet eine Fenstereinfügung von Null, sodass Ihre Ansichten so positioniert werden, als würden sie sich innerhalb eines regulären Bereichs befinden FrameLayout
.
SwipeDismissFrameLayout
: Mit diesem Layout können Sie benutzerdefinierte Interaktionen für Ihr System implementieren Aussicht
s und Fragmente. Sie werden im Allgemeinen verwenden SwipeDismissFrameLayout
Damit Benutzer Ansichten und Fragmente durch Wischen auf dem Bildschirm verwerfen können, wird im Wesentlichen die Funktionalität des Systems repliziert Zurück Schaltfläche auf Android-Smartphones und -Tablets gefunden.
WearableRecyclerView
: Dies ist eine Wearable-spezifische Implementierung von RecyclerView
So können Sie effektivere Layouts für runde Displays entwerfen. Das WearableRecyclerView
nutzt die Krümmung eines runden Bildschirms effektiver und wird normalerweise zum Implementieren gekrümmter Listen verwendet. WearableRecyclerView
Außerdem haben Sie die Möglichkeit, kreisförmige Scroll-Gesten in Ihrer App über ihre zu verwenden setCircularScrollingGestureEnabled ()
Methode.
Damit Sie das neue Android Wear-Modul verwenden können, muss die Android Support Library 26.0.0 Beta1 installiert sein. Dies führt uns zu einer anderen E / A-Ankündigung von Google.
Bei der diesjährigen Veranstaltung gab Google bekannt, dass alle kommenden Versionen der Android Support Library (26.0.0 Beta1 und höher) über das Google Maven-Repository verteilt werden nur.
Um die Android Support Library aus diesem Repository herunterzuladen, müssen Sie lediglich das Google Maven Repository zu Ihrem hinzufügen build.gradle Datei:
Repositorys maven url 'https://maven.google.com' jcenter ()
Sie können dann wie üblich Ihre Abhängigkeiten zum Kompilieren einrichten. Öffnen Sie also die tragbaren Module build.gradle Datei und fügen Sie die Wear-Bibliothek als Projektabhängigkeit hinzu:
Abhängigkeiten compile fileTree (Verzeichnis: 'libs', include: ['* .jar']) // Fügen Sie Folgendes hinzu: // compile 'com.android.support:wear:26.0.0-beta1'
Um eine Komponente aus der Android Wear-Benutzeroberflächenbibliothek zu Ihrer Benutzeroberfläche hinzuzufügen, öffnen Sie einfach die Layout-Ressourcendatei und stellen Sie sicher, dass Sie den neuen, vollständig qualifizierten Paketnamen verwenden. Im Wesentlichen bedeutet dies zu ersetzen android.support.wearable.view
mit android.support.wear.widget
. Zum Beispiel verwende ich hier die BoxInsetLayout
Klasse aus der Android Support Library:
Um diese Klasse in Ihre Java-Datei zu importieren, müssen Sie nur den gleichen Namen verwenden.
import android.support.wearable.view.BoxInsetLayout;
Wird das Neue:
import android.support.wear.widget.BoxInsetLayout;
Benutzer von Android Wear können aus einer großen Vielfalt von Uhrgesichtern auswählen. Obwohl die Komplikations-API den Uhrgesichtern die vollständige Kontrolle über die Art und Weise gibt, wie sie diese Daten zeichnen, kann es aufgrund der Flexibilität schwierig sein, den Uhrgesichtern Komplikationen zuzuführen.
Bei der diesjährigen Google I / O hat das Android Wear-Team einige Ergänzungen eingeführt, die die Arbeit mit der Complication-API erleichtern sollen.
ComplicationDrawable
ist eine neue Lösung, die alle Stylings und Layouts Ihrer Komplikationen für Sie abwickelt.
Wenn Sie ein erstellen ComplicationDrawable
Legen Sie jedoch keine Stilparameter fest. Sie erhalten dann ein Standard-Aussehen. Sie können jedoch auch die ComplicationDrawable
So gestalten Sie jeden Teil Ihrer Komplikation, einschließlich Hintergrundfarbe, Eckenradius und Rand.
Wenn Ihr Projekt auf API 24 oder höher abzielt, können Sie eine definieren ComplicationDrawable
Objekt erstellen, indem Sie eine dedizierte Layout-Ressourcendatei in Ihrem Projekt erstellen / res / drawable Mappe.
Öffnen Sie Ihre XML-Datei und erstellen Sie eine ComplicationDrawable
mit den folgenden Tags:
Beachten Sie, dass auf der obersten Ebene definierte Attribute sowohl für den Standardmodus als auch für den Umgebungsmodus gelten, sofern Sie diese Attribute nicht ausdrücklich in den Dateien überschreiben
Sektion.
Sie müssen dann die Komplikationsdaten an Ihre Zeichenbar übergeben:
@Override public void onComplicationDataUpdate (int id, ComplicationData-Daten) myComplicationDrawable.setComplicationData (data);
Und schließlich zeichnen Sie Ihre Komplikation, indem Sie anrufen setBounds
auf deiner Zeichnung:
@Override public void onDraw (Zeichenfläche, Rect-Begrenzungen) if (haveChanged (Begrenzungen)) myComplicationDrawable.setBounds (complicationBoundsWithin (Begrenzungen)); // Rufe draw auf der ComplicationDrawable auf // myComplicationDrawable.draw (canvas, currentTimeMillis);…
Die meisten Komplikationen umfassen eine Form von Text und TextRenderer
ist eine neue Klasse, die eine Reihe kleiner, aber leistungsstarker Anpassungen an der Art und Weise vorgenommen hat, wie der Text auf der Leinwand dargestellt wird.
Sie können verwenden TextRenderer
um die Grenzen festzulegen, mit denen Ihr Komplikationstext arbeiten muss, und TextRenderer
ändert dann die Größe des Texts oder ordnet ihn in mehreren Zeilen an, um in diesen Bereich zu passen. Außerdem, wenn der Bildschirm in den Umgebungsmodus „Immer eingeschaltet“ von Android Wear wechselt, TextRenderer
passt Ihren Text an, indem Sie Zeichen und Stil ausblenden, die für diesen Modus nicht geeignet sind.
Um diese neue Klasse nutzen zu können, müssen Sie eine TextRenderer
wenn Sie Ihr Zifferblatt initialisieren und dann die TextPaint
die Sie verwenden möchten, definiert Stilattribute wie Schriftart und Textfarbe:
@Override public void onCreate (Inhaber von SurfaceHolder) … myTextRenderer = new TextRenderer (); myTextRenderer.setPaint (myTextPaint (TextPaint);
Sie müssen ein erstellen TextRenderer
Für jedes Feld müssen Sie auch ein Feld erstellen TextRenderer
für Ihren Titeltext:
myTitleRenderer = neuer TextRenderer (); myTitleRenderer.setPaint (myTitlePaint);…
Wenn es Zeit zum Zeichnen ist, müssen Sie den Text im Renderer durch Aufrufen festlegen Text setzen
, und rufen Sie dann den Text ab getText
:
public void onDraw (Canvas-Leinwand, Rect-Grenzen) … myTextRenderer.setText (myComplicationText.getText (Context, data.getShortText (), currentTimeMillis)); myTextRenderer.draw (Zeichenfläche, Begrenzungen);…
Beachten Sie, dass viele Komplikationen zeitabhängig sind, weshalb currentTimeMillis
ist im obigen Codeausschnitt enthalten.
In diesem Artikel haben wir untersucht, wie Sie die neue Android Wear UI-Bibliothek zu Ihrem Projekt hinzufügen und wie Sie heute mit einer Reihe von Komponenten dieser Bibliothek arbeiten können. Wir haben auch zwei Komponenten untersucht, die die Integration mit der Komplikations-API von Android viel einfacher machen als bisher.
Im nächsten Teil werden wir eine Vorschau auf die aufstrebenden Funktionen von Android 3.0 erhalten, indem wir die neueste Version von Android Studio Canary erkunden.
In der Zwischenzeit können Sie einige unserer anderen Tutorials und unsere Video-Kurse zur Entwicklung von Android-Apps lesen!