Hier ist mein ToggleButton
:
Ich habe keinen Text in diesem Bild, ich brauche ein ToggleButton
wegen Active State.
EDIT: Ich denke, die Frage wurde missverstanden. Innerhalb der Umschaltfläche ( flame_icon
) befindet sich ein Zeichen, das als background
definiert ist. Ich möchte, dass es zentriert ist. Es gibt keinen Text, nur ein Bild. Ich brauche einen Umschaltknopf, weil ich einen aktiven Zustand haben muss, wenn er ausgewählt ist.
Es gibt nur drawableLeft
, drawableRight
, drawableTop
usw. Ich möchte eine draweableMiddle
, die anscheinend nicht existiert.
Ich habe die Antwort überarbeitet, um Ihre überarbeitete Frage zu beantworten.
Die Schaltflächen drawableLeft
, drawableRight
und drawableTop
steuern, soweit ich das beurteilen kann, wo das Bild relativ zum Selektor (a / k / a ein / aus) platziert wird. Oben wird es über den Indikator mit links und rechts platziert, um es jeweils auf eine bestimmte Seite zu platzieren. Ich glaube nicht, dass Sie den Selektor-Indikator entfernen können, da dies den Zweck der Verwendung von ToggleButton
zunichte machen würde.
Ich konnte 2 Zeichen in 2 ToggleButtons
mit dem folgenden Layout zentrieren. Um die Bilder in ToggleButton
zu zentrieren, habe ich drawableTop
verwendet, so dass die Bilder über dem Auswahlindikator erschienen sind. Ich habe dann sowohl textOn
als auch textOff
als leere Zeichenfolge gesetzt. Wenn Sie dies nicht festlegen, wird der standardmäßige Ein / Aus-Text über dem Auswahlindikator angezeigt und der Zeichenbereich wird zur Seite verschoben.
%Vor%
Sie müssen nur die Höhe der Schaltfläche anpassen, um das Symbol relativ zum Auswahlsymbol an der gewünschten Stelle zu positionieren. Mein einziger anderer Vorschlag wäre, die Größe des verwendeten Bildes zu kontrollieren. Wenn Sie die Abmessungen des Bildes relativ zur Schaltfläche anpassen können, sollten Sie es bei der Platzierung mit drawableTop automatisch zentrieren.
Ich hatte kein Glück mit der angenommenen Antwort, aber vielleicht ist mein Szenario subtil anders. Die andere Lösung, die ich gesehen habe, ist, das drawablePadding-Attribut zu verwenden, um topDrawable in die Mitte der Schaltfläche zu schieben. Das funktioniert bis zu einem gewissen Grad, aber es setzt voraus, dass die Abmessungen des Buttons fest sind und selbst dann ist es schwierig, das Icon perfekt zu zentrieren.
Dies ist, was ich stattdessen gefunden habe. Geben Sie nicht das Symbol auf der Schaltfläche an. Setzen Sie stattdessen den Hintergrund der Schaltfläche auf eine ausklappbare Ebenenliste, die das gewünschte Symbol über den gewünschten Selektor zeichnet:
%Vor% Ich habe die android:drawableTop
wie von Rarw beschrieben benutzt, aber da meine Taste groß und breit war, hing sie einfach oben. Nicht wirklich zentriert ... also habe ich mit dem paddingTop
herumgespielt und es könnte hier funktionieren was ich habe:
Ich denke, es wird für meine Zwecke funktionieren
Tags und Links android button togglebutton