Новая плавающая кнопка действия должна быть 56dp x 56dp, а значок внутри нее должен быть 24dp x 24dp . Таким образом, расстояние между значком и кнопкой должно быть 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>
И вот результат, который я получаю:
я использовал значок из \ 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
Как сделать так, чтобы размер значка внутри кнопки был точно таким, как описано в рекомендациях?
http://www.google.com/design/spec/components/buttons.html#buttons-floating-action-button
Ответы:
Поскольку ваш контент 24dp x 24dp, вы должны использовать значок 24dp . А затем установите
android:scaleType="center"
в ImageButton, чтобы избежать автоматического изменения размера.источник
Сделать эту запись в размерах
Здесь 36dp - размер иконки на кнопке с плавающей запятой. Это установит размер 36dp для всех значков для плавающей кнопки действия.
Обновления в соответствии с комментариями
Если вы хотите установить размер иконки для определенной кнопки с плавающим действием, просто используйте атрибуты кнопки с плавающим действием, такие как app: fabSize = "normal" и android: scaleType = "center".
источник
Попробуйте использовать
app:maxImageSize="56dp"
вместо приведенных выше ответов после обновления библиотеки поддержки до версии 28.0.0.источник
maxIconSize
изменения размера значка.Существует три ключевых атрибута XML для пользовательских FAB:
app:fabSize
: Либо «мини» (40 дп), «нормальный» (56 дп) (по умолчанию), либо «авто»app:fabCustomSize
: Это будет определять общий размер FAB.app:maxImageSize
: Это будет определять размер значка.Пример:
Заполнение FAB (пространство между значком и фоновым кругом, иначе apple ) вычисляется неявным образом:
Обратите внимание, что поля fab могут быть установлены обычными
android:margin
свойствами тега xml.источник
В рекомендациях по проектированию определены два размера, и если нет веских причин для отклонения от одного из них, размер можно контролировать с помощью
fabSize
атрибута XMLFloatingActionButton
компонента.Рассмотрите возможность указания с использованием либо,
app:fabSize="normal"
либоapp:fabSize="mini"
, например:источник
На фоне предоставленного вами фона на моем устройстве появляется кнопка ниже (Nexus 7 2012)
Выглядит хорошо для меня.
источник
Какова твоя цель?
Если установить размер изображения значка больше:
Убедитесь, что размер изображения больше, чем ваш целевой размер
(so you can set max image size for your icon)
Размер моей целевой иконки - 84 дп, а размер потрясающего - 112 дп :
источник
Если вы используете androidx 1.0.0 и используете нестандартный размер, вы должны указать нестандартный размер, используя
По умолчанию размер равен 56 dp, и есть еще один вариант, который представляет собой небольшой размер fab, равный 40 dp, если вы используете что-либо, вам нужно будет указать его для правильного расчета заполнения.
источник
layout_width
иlayout_height
. Это просто работает. Это также доступно наcom.android.support:design:28.0.0
Как
FAB
иImageView
вы. Вы также можете использоватьscaleType
атрибут для изменения размера иконкиImageView
. По умолчаниюscaleType
дляFAB
естьfitCenter
. Вы можете использоватьcenter
иcenterInside
сделать значок маленьким и большим соответственно.Все значения для
scaleType
атрибута -center, centerCrop, centerInside, fitCenter, fitEnd, fitStart, fitXY
иmatrix
.См. Https://developer.android.com/reference/android/widget/ImageView.ScaleType.html для получения дополнительной информации.
источник
от ответа @ IRadha в настройках векторного рисования
android:height="_dp"
и установки типа масштаба, чтобыandroid:scaleType="center"
установить для рисования любой размер, который был установленисточник
Вы можете играть со следующими настройками FloatingActionButton: android: scaleType и app: maxImageSize. Что касается меня, у меня есть желательный результат, если android: scaleType = "centerInside" и app: maxImageSize = "56dp".
источник