El nuevo botón de acción flotante debe ser 56dp x 56dp y el ícono dentro debe ser 24dp x 24dp . Entonces, el espacio entre el icono y el botón debe ser de 16dp .
<ImageButton
android:id="@+id/fab_add"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_gravity="bottom|right"
android:layout_marginBottom="16dp"
android:layout_marginRight="16dp"
android:background="@drawable/ripple_oval"
android:elevation="8dp"
android:src="@drawable/ic_add_black_48dp" />
ripple_oval.xml
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item>
<shape android:shape="oval">
<solid android:color="?android:colorAccent" />
</shape>
</item>
</ripple>
Y este es el resultado que obtengo:
utilicé el ícono de \ material-design-icons-1.0.0 \ content \ drawable-hdpi \ ic_add_black_48dp.png
https://github.com/google/material-design-icons/releases /tag/1.0.1
¿Cómo hacer que el tamaño del icono dentro del botón sea exactamente como se describe en las pautas?
http://www.google.com/design/spec/components/buttons.html#buttons-floating-action-button
Respuestas:
Como su contenido es de 24dp x 24dp, debe usar el icono de 24dp . Y luego configure
android:scaleType="center"
su ImageButton para evitar el cambio de tamaño automático.fuente
Haga esta entrada en dimens
Aquí 36dp es el tamaño del icono en el botón de coma flotante. Esto establecerá un tamaño de 36dp para todos los iconos del botón de acción flotante.
Actualizaciones según comentarios
Si desea establecer el tamaño del icono en un botón de acción flotante en particular, simplemente vaya con los atributos del botón de acción flotante como app: fabSize = "normal" y android: scaleType = "center".
fuente
Intente utilizar en
app:maxImageSize="56dp"
lugar de las respuestas anteriores después de actualizar su biblioteca de soporte a v28.0.0fuente
maxIconSize
cambio en el tamaño del icono.Existen tres atributos XML clave para los FAB personalizados:
app:fabSize
: "Mini" (40dp), "normal" (56dp) (predeterminado) o "auto"app:fabCustomSize
: Esto decidirá el tamaño total de FAB.app:maxImageSize
: Esto decidirá el tamaño del icono.Ejemplo:
El relleno FAB (el espacio entre el icono y el círculo de fondo, también conocido como ondulación ) se calcula implícitamente por:
Tenga en cuenta que los márgenes del fab se pueden establecer mediante las
android:margin
propiedades habituales de la etiqueta xml.fuente
Las pautas de diseño definen dos tamaños y, a menos que haya una razón sólida para desviarse del uso, el tamaño se puede controlar con el
fabSize
atributo XML delFloatingActionButton
componente.Considere especificar el uso de cualquiera
app:fabSize="normal"
oapp:fabSize="mini"
, por ejemplo:fuente
Con el fondo que proporcionó, aparece el siguiente botón en mi dispositivo (Nexus 7 2012)
Me parece bien.
fuente
¿Cual es tu meta?
Si establece el tamaño de la imagen del icono en uno más grande:
Asegúrese de tener un tamaño de imagen mayor que el tamaño de destino
(so you can set max image size for your icon)
El tamaño de la imagen de mi icono objetivo es 84dp y el tamaño fab es 112dp :
fuente
Si está utilizando androidx 1.0.0 y está utilizando un tamaño fab personalizado, deberá especificar el tamaño personalizado utilizando
Por defecto, el tamaño es de 56dp y hay otra variación que es el fab de pequeño tamaño que es de 40dp, si está usando algo, tendrá que especificarlo para que el relleno se calcule correctamente
fuente
layout_width
ylayout_height
. Simplemente funciona Esto también está disponible encom.android.support:design:28.0.0
Como
FAB
esImageView
así, puede usar elscaleType
atributo para cambiar el tamaño del icono de la misma maneraImageView
. El valor predeterminadoscaleType
para aFAB
esfitCenter
. Puede usarcenter
ycenterInside
para hacer que el icono sea pequeño y grande respectivamente.Todos los valores para el
scaleType
atributo son -center, centerCrop, centerInside, fitCenter, fitEnd, fitStart, fitXY
ymatrix
.Consulte https://developer.android.com/reference/android/widget/ImageView.ScaleType.html para obtener más detalles.
fuente
fuera de la respuesta de @ IRadha en la configuración de dibujo vectorial
android:height="_dp"
y la configuración del tipo de escala paraandroid:scaleType="center"
establecer el dibujo en cualquier tamaño establecidofuente
Puedes jugar con la siguiente configuración de FloatingActionButton: android: scaleType y app: maxImageSize. En cuanto a mí, obtuve un resultado deseable si android: scaleType = "centerInside" y la aplicación: maxImageSize = "56dp".
fuente