nvgovernorscup.com

  

Beste Artikel:

  
Main / Wie man den Titel der Symbolleiste für Android einstellt

So legen Sie den Symbolleisten-Titel für Android fest

Umgang mit der verallgemeinerten Version der Aktionsleiste für eine bessere Benutzererfahrung. Während die Hauptaufgabe einer App darin besteht, Benutzern aussagekräftige Inhalte anzuzeigen und sie verschiedene Vorgänge darin ausführen zu lassen, ist es ebenso wichtig, dass sie leicht navigierbar ist - mit einem klaren Bildschirmnamen, einem Logo oder in einigen Fällen einem Untertitel. Eine Android-Anwendung besteht im Allgemeinen aus einer Reihe von Aktivitäten, die zusammengefügt werden, um Benutzern eine einheitliche Benutzererfahrung zu bieten.

Nehmen Sie zum Beispiel WhatsApp. Es hat eine Heimaktivität, in der sich drei Registerkarten befinden, dann gibt es eine Chat-Aktivität, in der Chat-Details gehostet werden, und so weiter. Jede dieser Aktivitäten hat oben eine Komponente, eine Ansichtsgruppe, die den Aktivitätstitel enthält, in einigen Fällen den Untertitel, das Logo, einige aktivitätsspezifische Menüoptionen wie Suchen usw.

Diese Komponente ist unsere ActionBar. Warte eine Minute! Was ist eine Aktionsleiste und wollten wir in diesem Artikel nicht über die Symbolleiste sprechen? Lassen Sie uns sehen, was eine Aktionsleiste und eine Symbolleiste sind und wie verschiedene Symbolleistenelemente verwendet werden und wie eine Symbolleiste als Aktionsleiste eingerichtet wird. Mit API Level 11 oder Android 3. Hier sind die Schlüsselfunktionen der Aktionsleiste. Eine Aktionsleiste kann austauschbar auch als App-Leiste oder als Symbolleiste bezeichnet werden, wenn Sie sie so nennen. Wie bereits erwähnt, handelt es sich bei der Symbolleiste lediglich um eine Verallgemeinerung der Aktionsleiste, die im Wesentlichen dieselbe Erfahrung bietet, jedoch ohne Hierarchieeinschränkung und mit neuen Designelementen wie AppBarLayout und CollapsingToolbarLayout viel anpassbarer ist.

Beim Thema der wichtigsten Unterschiede gibt es kaum einen anderen Punkt als die Freiheit, die Symbolleiste an einer beliebigen Stelle in der Hierarchie zu platzieren. Wenn Sie es in CollapsingToolbarLayout einfügen, erhalten Sie eine native Symbolleiste zum Reduzieren mit Animationen. Der andere Punkt, den wir diesbezüglich ansprechen können, ist, dass eine Symbolleiste als Aktionsleiste festgelegt werden muss, um die verschiedenen Optionen zu erhalten, die eine Aktionsleiste bietet.

Die Standardoptionen auf der rechten Seite, die drei vertikalen Punkte im Bild, die Standardnavigationsschaltfläche am linken Anfang der Symbolleiste und vieles mehr sind ActionBar-spezifisch. Wenn Sie die Symbolleiste nicht als Aktionsleiste festlegen, werden Sie diese Funktionen verpassen. Bildschaltflächen, Vektorbilder und fertig! Die Symbolleiste ist eine ViewGroup-Erweiterung, die innerhalb einer Aktivität verwendet wird, um verwandte Informationen und Optionen wie Suchen oder Alles auswählen anzuzeigen. Obwohl ich bereits die Hauptunterschiede zwischen der Symbolleiste und der Aktionsleiste hervorgehoben habe, ist es erwähnenswert, warum die Symbolleiste überhaupt eingeführt wurde und welche Schlüsselfunktionen sie mit anderen als denen von ActionBar bietet.

Einige der wichtigsten Attribute der Symbolleiste sind: Alle wenigen oben genannten Schlüsselfunktionen werden mit XML- und Java-Setzern auf Komponentenebene geliefert. Wir werden uns nun mit dem Teil befassen, in dem wir sehen, wie man mit Symbolleistensetzern gut umgeht und was vermieden werden kann.

Aber zuerst fügen wir die Abhängigkeit hinzu, die für die Symbolleiste benötigt wird. Hinzufügen der folgenden Abhängigkeit zum Build unserer Anwendung. Symbolleiste, die von API Level 21 Lollipop und höher unterstützt wird. Dieser Code fügt Ihrer Aktivität eine leere weiße Symbolleiste hinzu. Die meisten Attribute sind selbsterklärend und in den meisten Komponenten enthalten. Wir müssen jedoch ein kleines Detail im Code ansprechen - den Wert für die Layouthöhe.

Das Android-Framework verfügt über eine Reihe vordefinierter attr-Werte, die auch in der App verwendet werden können. Verwenden Sie es anstelle eines beliebigen Werts, der in Ordnung aussieht, um sicherzustellen, dass Ihre Symbolleiste konsistent angezeigt wird. Titel und Untertitel spielen beide eine wichtige Rolle bei der Bereitstellung des aktuellen Kontexts für den Benutzer. Fügen Sie der Symbolleiste XML Folgendes hinzu. Eines der Attribute ist die Textfarbe, mit deren Hilfe benutzerdefinierte Farben sowohl auf Titel als auch auf Untertitel angewendet werden können. Das andere häufig verwendete Attribut ist die Texterscheinung, mit der sich die Standarddarstellung bei benutzerdefinierten Stilen wie diesen ändern kann.

Das einzige nicht übliche Attribut ist der Rand, der exklusiv für den Titel ist. Die Symbolleiste bietet verschiedene Attribute zum Festlegen von Rändern für den Titel von links nach oben.

Die eine Sache, die wir beachten müssen, ist, dass wir titleMargin verwenden müssen, nicht titleMargins, das jetzt so veraltet ist. Der einzige Unterschied zwischen dem Java-Setter und dem XML-Setter besteht darin, dass der Java-Setter Werte in Pixel akzeptiert, nicht in einer definierten Einheit wie dp oder sp. Wir müssen also zuerst den Wert gemäß der Gerätedichte in Pixel konvertieren und sie dann an Setter übergeben.

Eine weitere Sache im Zusammenhang mit dem Logo, dem Titel und dem Untertitel der Symbolleiste ist, dass sie von Anfang an eine Standardauffüllung haben - genau 16 dp, die selbst mit der Navigationstaste vorhanden ist. Wenn der Auffüllwert geändert werden muss, können Sie diese jederzeit verwenden.

Natürlich habe ich hier 0dp verwendet, aber Sie können je nach Bedarf einen anderen Wert auswählen. Und ja, dies gilt für den gesamten Satz von Logo, Titel und Untertitel - was bedeutet, dass alle von Anfang an die gleiche Polsterung haben. Wie oben erwähnt, fügt die Symbolleiste der Aktivität auch Navigationsfunktionen hinzu, insbesondere die Möglichkeit, eine Menüleiste zu öffnen oder ein Ereignis oder die Aktivität selbst zu schließen. Das von uns festgelegte Navigationssymbol wird links in der Symbolleiste angezeigt und von Anfang an auf einem Rand von 16 dp gehalten.

Mit dem anderen Setter, den Sie oben sehen, der Beschreibung des Navigationsinhalts, können Sie eine Beschreibung für das Navigationsschaltflächensymbol festlegen, das in Eingabehilfediensten wie Bildschirmleseprogrammen verwendet werden soll. Die andere Sache, die Sie beim Einstellen einer Navigationsschaltfläche beachten sollten, ist, dass sie auf beiden Seiten einen Bereich von 56 x 56 dp - 24 dp Symbol und 16 dp Rand einnimmt und sich dann der Titel oder das Symbol rechts an einem Rand von 16 dp ausrichtet.

Das sind von Anfang an insgesamt 72dp. Wenn wir diese Navigationsschaltfläche jetzt verwenden möchten, können wir sie auf zwei Arten verwenden: Verwenden eines Klick-Listeners für das Symbolleistenattribut der Schaltfläche oder Festlegen der Symbolleiste als Aktionsleiste und Verwenden der Navigationsschaltfläche als Home-Up-Schaltfläche. Die Symbolleiste bietet einen nativen Klick-Listener für die Navigationsschaltfläche, mit dem ein Aktivitätsende geschlossen werden kann. Das folgende Codefragment zeigt die Verwendung des Navigations-Listeners zum Beenden einer Aktivität oder zum einfachen Zurückspringen zur letzten Aktivität.

Die Home-Up-Schaltfläche kann aktiviert werden, indem Sie die Symbolleiste als Aktionsleiste festlegen und dann das Home-Up wie folgt aktivieren. Ein Klick führt den Benutzer einfach zurück zu der übergeordneten Hauptaktivität, die wir im Manifest definieren. Das Definieren der übergeordneten Aktivität ist einfach. Fügen Sie einfach das Attribut parentActivityName hinzu und übergeben Sie die Aktivität, die Sie als Home verwenden möchten, als Wert. Hier haben wir. Damit haben wir unsere Heimaktivität für Android 4 festgelegt. Um die darunter liegenden Versionen zu unterstützen, müssen wir dem Aktivitäts-Tag Metadaten mit einem Namen und einem Wert wie diesem hinzufügen.

Wir haben dieselbe Aktivität verwendet, die wir oben für die Heimaktivität bestanden haben. Sobald dies erledigt ist, muss der gesamte Aktivitäts-Tag-Block so aussehen. Nun, wir sind mit der Einrichtung des Manifests fertig. Wir können jetzt von dieser zweiten Aktivität zur Heimaktivität springen. Wenn Sie jedoch zu unterschiedlichen Aktivitäten springen möchten, die auf unterschiedlichen Bedingungen basieren, können Sie das Hinzufügen des übergeordneten Aktivitätsnamens ignorieren und stattdessen verwenden. Diese Methode wird ausgelöst, unabhängig davon, ob Sie eine übergeordnete Aktivität für die Aktivität festlegen oder nicht. Konzentrieren Sie sich nun auf die if-Klausel. In diesem Fall nehmen wir den Menüpunkt item id heraus und prüfen, ob er gleich ist.

Wenn es übereinstimmt, beenden Sie einfach die Aktivität oder wechseln Sie nach Bedarf zu einer anderen Aktivität. Die gleiche Methode wie oben ist für andere Aktionsmenüs auf den rechten Schaltflächen in der Symbolleiste erforderlich. Eine Sache, die wir hier beachten müssen, ist, dass sofort entweder die Navigationstaste oder die Aufwärtstaste funktioniert - sobald der Navigationsklick-Listener registriert ist, wird nur dieser ausgelöst, nicht das Home-Up.

Wenn Sie den Navigations-Klick-Listener verwenden, legen Sie die Symbolleiste als Aktionsleiste fest, bevor Sie Code für den Listener hinzufügen, da der Nav-Listener durch das Gegenteil gelöscht wird. Aktionen sind Symbolleistenspezifische menüelementgesteuerte Ereignisse, die Benutzer für die aktuelle Kontextaktivität auswählen können. Schauen Sie unten - die folgende Symbolleiste enthält 2 sichtbare Menüelemente und eines im Überlauf - dies sind unsere Aktionsschaltflächen, die rechts von der übergeordneten Symbolleiste ausgerichtet sind.

Hier haben wir gerade angenommen, dass die Benutzer diese 2 mehr als die dritte im Überlauf verwenden werden. Wie fügen wir diese drei Schaltflächen hinzu und wie wird die weniger erforderliche Schaltfläche in den Überlauf eingefügt? Nun, die Antwort beinhaltet drei einfache Schritte. Diese drei Schritte und wir werden in Aktion sein. Lassen Sie uns jeden der Schritte diskutieren und herausfinden, wie wir Menüelemente in unsere Kopfzeile oder einfach in die Symbolleiste einbetten und wie wir Ereignisse abhören können.

Das Einrichten der Symbolleiste als Aktionsleiste ist wichtig, damit die Menüelemente funktionieren oder vielmehr in der Symbolleiste angezeigt werden. Wir haben bereits gesehen, wie wir das tun können, also werden wir einfach vorwärts springen. Der Punkt dabei ist, dass Menüelemente immer noch von alten Aktionsleistenmethoden verwaltet werden, die an die Aktivität gebunden sind und für die Verwendung überschrieben werden können, die wir im nächsten Schritt sehen werden. Sobald dies erledigt ist, können wir jetzt ein Menülayout erstellen und es in der Symbolleiste aufblasen, wo es hingehört, genau wie bei Inhaltslayouts. Wir blasen sie bei Bedarf auf.

Nachdem wir die Aktionsleiste eingerichtet haben, können wir ein neues Menülayout erstellen und es anschließend aufblasen, um es in der rechts ausgerichteten Symbolleiste sichtbar zu machen. Um ein Menülayout zu erstellen, müssen wir zuerst ein neues Menüressourcenverzeichnis im Ordner res erstellen.

Wenn Sie das Menü res-Verzeichnis bereits in Ihrer App haben, fahren Sie mit dem nächsten Absatz fort. Sie müssen den res-Ordner bereits kennen. Ein Rechtsklick darauf öffnet eine Vielzahl von Optionen. Gehen Sie einfach neu und tippen Sie dann auf Android Resource Directory. Daraufhin wird ein Fenster geöffnet.

Ändern Sie einfach den Ressourcentyp in Menü und drücken Sie OK. Lassen Sie alles so, wie es ist. Das Menüverzeichnis wird in der Res-Hierarchie angezeigt. Benennen Sie die Datei einfach in Kleinbuchstaben und klicken Sie auf OK.

Die soeben erstellte Datei wird als Ergebnis geöffnet. Dies ist unser Menü-Layout, in dem wir unsere Menüelemente in den Menü-Tag-Block einfügen. Wenn Sie oben schauen, haben wir einige Elemente in den Block eingefügt. Schauen Sie genau hin - wir haben drei Elemente, ein Suchelement, ein Benachrichtigungselement und das dritte ist die Freigabe.

Aber was ist der Unterschied zwischen den drei? Nun, es gibt mehrere Unterschiede, aber der zu beachtende ist das Attribut mit der Namespace-App.

(с) 2019 nvgovernorscup.com