Ich versuche herauszufinden, wie FloatingActionButton aus der Android-Support-Bibliothek geändert werden kann. Kann es mit dem Text anstelle des Bildes verwendet werden?
So etwas wie dieses:
Ich sehe, dass es ImageButton erweitert, also denke ich nicht. Habe ich recht?
Ist dies in Bezug auf das Materialdesign im Allgemeinen richtig?
implementation 'com.google.android.material:material:1.1.0-alpha06'
30dp
Dank an alle.
Hier ist eine einfache Problemumgehung, die ich für diese Frage gefunden habe. Funktioniert korrekt für Android 4+, für Android 5+ wurde ein spezifischer Parameter für Android hinzugefügt: Elevation, um TextView über FloatingActionButton zu zeichnen.
quelle
android:layout_margin="20dp"
in FloatingActionButton hinzuzufügen, um die Schattenprobleme zu beheben. Warten auf eine bessere Lösung dafürandroid:includeFontPadding="false"
zumTextView
Tag hinzufügen für bessere LeistungKonvertieren Sie einen Text in eine Bitmap und verwenden Sie ihn. es ist super einfach.
quelle
FABs werden normalerweise in
CoordinatorLayout
s verwendet. Sie können dies verwenden:Das macht die Arbeit
Ergebnis:
Wenn Sie einige
layout_behavior
für Ihr FAB verwenden, müssen Sie ein ähnlicheslayout_behavior
für das erstellenTextView
quelle
android.support.design.widget.FloatingActionButton cannot be cast to android.view.ViewGroup
ist wahrscheinlich, weil SieTextView
in FAB gesetzt haben. Bitte erkundigen Sie sich bei OP, wo das Tag geschlossen wurde.Sie können keinen Text
FloatingActionButton
aus der Support-Bibliothek festlegen. Sie können jedoch ein Textbild direkt aus Android Studio: erstellenFile -> New -> Image Asset
und es dann für Ihre Schaltfläche verwenden.In Bezug auf Materialdesign ; Sie haben nicht erwähnt, dass Text mit verwendet wird
FloatingActionButton
, und ich sehe keinen Grund dafür, da Sie nicht wirklich viel Platz für einen Text haben.quelle
Ich brauchte Text in einem FAB, aber stattdessen habe ich mich für eine Textansicht mit einem kreisförmigen, zeichnbaren Hintergrund entschieden:
Hier ist das Drawable (circle_backgroung.xml):
quelle
Die Antwort von @NandanKumarSingh https://stackoverflow.com/a/39965170/5279156 funktioniert, aber ich habe einige Änderungen mit fab im Code vorgenommen (nicht xml, da sie in Klassenmethoden überschrieben werden).
Wo
setTextBitmap
ist eine Erweiterung für eineImageView
Klasse mit ähnlichen Funktionen, die jedoch mehrzeiligen Text unterstützt ?quelle
Eine sehr kleine Änderung an der Antwort des Kameraden , um sie für die Android-API unter 21
app:elevation="0dp"
zu unterstützenFloatingActionButton
Dies könnte anderen helfen!
quelle
Ich habe ein CardView verwendet, um das gleiche Ergebnis zu erzielen
quelle