Fügen Sie dem Symbol auf der Schaltfläche eine neue Elementanzahl hinzu – Android
Lesezeit: 8 Minuten
Ich bin Entwickler. Ich muss das unten gezeigte Design implementieren. Ich habe bereits eine funktionierende App, frage mich aber, wie ich das überhaupt angehen soll? Insbesondere interessiert mich, wie die Anzahl der “neuen” Elemente unter Registerkarten angezeigt wird. Was ich weiß, ist, wie man neue Symbole mit roten Punkten erstellt und sie einfach anzeigt, wenn neue Inhalte verfügbar sind.
Aber ich habe keine Ahnung, wie man diese runden Kreise über dem Titel schweben lässt UND die Nummer darin anzeigt. Hat jemand einen Vorschlag, wonach auch gesucht werden soll? Proben? Richtungen?
Zweite Frage zur Trennung von Aktivitäten. Sollte ich die Kontrolle übernehmen, um Schaltflächen wie diese zu kombinieren und sie einfach bei Aktivitäten aufzublasen? Andernfalls kann ich Aktivitäten mit Registerkarten erstellen, aber ich bin mir nicht sicher, ob es möglich ist, sie so zu gestalten, dass sie so aussehen.
Machen Sie Ihr Abzeichen a TextView, sodass Sie den numerischen Wert durch Aufrufen auf einen beliebigen Wert festlegen können setText(). Legen Sie den Hintergrund fest TextView als XML <shape> Drawable, mit dem Sie einen Voll- oder Farbverlaufskreis mit Rand erstellen können. Ein XML-Drawable wird skaliert, um es an die Ansicht anzupassen, wenn die Größe mit mehr oder weniger Text geändert wird.
Sie müssen sich jedoch ansehen, wie das Oval / der Kreis mit großen 3-4-stelligen Zahlen skaliert. Wenn dieser Effekt unerwünscht ist, versuchen Sie einen Ansatz mit abgerundeten Rechtecken wie unten. Bei kleinen Zahlen sieht das Rechteck immer noch wie ein Kreis aus, da die Radien zusammenlaufen.
Endlich diese TextView Abzeichen können in Ihrem Layout über den entsprechenden Schaltflächen/Registerkarten platziert werden. Ich würde dies wahrscheinlich tun, indem ich jede Schaltfläche mit ihrem Abzeichen in a gruppiere RelativeLayout Behälter, etwa so:
Hoffentlich sind das genug Informationen, um Sie zumindest in die richtige Richtung zu lenken!
Ist es möglich, etwas Ähnliches mit einem TableLayout zu tun? Ich habe ein 2×2-Raster von Schaltflächen und ein relatives Layout ist schwieriger einzurichten als ein relatives Layout, aber ich kann keine Attribute wie aligntTop und alignRight verwenden
– Nick
19. Dezember 12 um 3:56 Uhr
NM Ich habe es gelöst, indem ich einfach ein relatives Layout in die Tabellenzeile eingefügt habe! Danke, Code funktioniert super
– Nick
19. Dezember 12 um 4:03 Uhr
@FelipeMosso Benutze die oval Version des Beispiels und fügen Sie a hinzu <size> Element, um Proportionen für die Breite/Höhe bereitzustellen
– devunwired
5. Juli 13 um 16:48 Uhr
Das Zählsymbol versteckt sich in meinem Fall hinter dieser Schaltfläche. Auf Android 5.0. Ich weiß nicht, was los ist. Im grafischen Layout sieht es gut aus, aber nicht im Gerät.
– Braj
1. Juli 15 um 12:56 Uhr
Wenn ich die Schaltfläche für das Zählsymbol verwende, funktioniert alles einwandfrei, aber wenn ich die Textansicht verwende, wird sie hinter der Hauptschaltfläche angezeigt, anstatt oben angezeigt zu werden!
– Braj
1. Juli 15 um 13:13 Uhr
Android ViewBadger
Eine einfache Möglichkeit, eine bestimmte Android-Ansicht zur Laufzeit mit einem „Badge“ zu versehen, ohne sie im Layout berücksichtigen zu müssen.
Nur um hinzuzufügen. Wenn jemand eine gefüllte kreisförmige Blase mit der Ringform anstelle der ovalen Form implementieren möchte, finden Sie hier das Codebeispiel zum Hinzufügen der Blasenanzahl zu den Schaltflächen der Aktionsleiste. Dies kann jedoch zu jeder Schaltfläche hinzugefügt werden.