Ich arbeite an einer Anwendung und wir möchten die Größe unserer schwebenden Aktionstaste auf größeren Geräten erhöhen.
Das Problem ist, dass die schwebende Aktionsschaltfläche nur in zwei Größen erhältlich ist (mini
und normal
).
Zuerst habe ich versucht, ein benutzerdefiniertes android:layout_height
und android:layout_height
für meine Fab festzulegen, aber es hat nicht funktioniert. Nun, das gesamte Layout wurde tatsächlich größer, aber ein Rand erschien um die Fabrik und der Hintergrund war nicht vollständig transparent.
Verzweifelt nach einer Lösung habe ich meine eigene Kreisschaltflächenansicht erstellt und die schwebende Aktionsschaltfläche ersetzt. Das ist aber nicht gut genug. Ich werde nicht die coolen Ripple-Effekte oder alles andere haben, was eine Fab hat.
Danach habe ich angefangen, den Quellcode von Floating Action Button zu lesen, aber er wird sehr schnell komplex. Deshalb habe ich beschlossen, eine Pause einzulegen und meine Frage hier zu posten.
Weiß jemand, wie man eine schwebende Aktionstaste vergrößert?
EDIT 20/7/2016
Meine Frage ähnelt in der Tat dieser. Ich frage jedoch, wie man die Standardgröße von Button erhöht und nicht, wie man eine neue Größe hinzufügt.
2 Antworten
Die Designbibliothek verwendet diese Parameter für das Fab:
<dimen name="design_fab_elevation">6dp</dimen>
<dimen name="design_fab_translation_z_pressed">6dp</dimen>
<dimen name="design_fab_content_size">24dp</dimen>
<dimen name="design_fab_size_normal">56dp</dimen>
<dimen name="design_fab_size_mini">40dp</dimen>
<dimen name="design_fab_border_width">0.5dp</dimen>
Wenn Sie Ihre eigene Fab verwenden möchten, können Sie die Design-Support-Bibliothek erweitern oder die gesamte Klasse kopieren und Ihre eigenen Dimensionen im Quellcode ersetzen, z. B. unter
final int getSizeDimension() {
switch (mSize) {
case SIZE_MINI:
return getResources().getDimensionPixelSize(R.dimen.design_fab_size_mini);
case SIZE_NORMAL:
default:
return getResources().getDimensionPixelSize(R.dimen.design_fab_size_normal);
}
}
Stellen Sie jedoch sicher, dass Sie alles skalieren, damit sich das Seitenverhältnis nicht ändert.
Wenn Sie eine schnelle Lösung wünschen, definieren Sie einfach eine Fab und verwenden Sie Code
float val = 1.3f;
fab.setScaleY(val);
fab.setScaleX(val);
Verwandte Fragen
Verknüpfte Fragen
Neue Fragen
android
Android ist Googles mobiles Betriebssystem, mit dem digitale Geräte (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) programmiert oder entwickelt werden. Verwenden Sie für Themen im Zusammenhang mit Android Android-spezifische Tags wie Android-Intent, Android-Aktivität, Android-Adapter usw. Verwenden Sie für andere Fragen als Entwicklung oder Programmierung, die sich jedoch auf das Android-Framework beziehen, diesen Link: https: // android.stackexchange.com.