Я пытаюсь использовать FAB, но значок внутри находится справа внизу от кнопки:
FAB с иконкой не по центру
ЭтоОпределение FAB в xml:
<RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/centerLocationButton" style="@style/Widget.MaterialComponents.FloatingActionButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_margin="@dimen/pro_arriving_map_location_button_padding" android:src="@drawable/ic_my_location" app:backgroundTint="@color/white" app:fabSize="mini" /> </RelativeLayout>
Что я делаю не так?
Мое решение app:fabCustomSize="56dp"
app:fabCustomSize="56dp"
Попробуйте
android:width="wrap_content" android:height="wrap_content" app:maxImageSize ="56dp"
на фабрике.Работал на меня
Похоже, это ошибка в библиотеке поддержки проектирования v28.0.0.
Я мог бы обойти это, программно установив scaleType.
В вашем случае в коде Java / Kotlin:
centerLocationButton.setScaleType(ImageView.ScaleType.CENTER)
После обновления до SDK 28 у меня возникла та же проблема.Изменение размера, scaleType, layout_gravity и т. Д. Вернет то же самое.
Мое текущее краткосрочное решение использует ImageButton.
Не могли бы вы попробовать android:scaleType="center" как свойство FloatingActionButton?
android:scaleType="center"
FloatingActionButton
Вместо android:src попробуйте app:srcCompat.Является ли FAB единственной вещью, которую вы используете, потому что, если это так (судя по картинке, которую вы разместили), возможно, вам не нужен RelativeLayout в качестве родителя, вы можете использовать android:layout_gravity="bottom|end"
android:src
app:srcCompat
android:layout_gravity="bottom|end"