Почему FAB выглядит по-разному на разных Android-устройствах/версиях ОС?


Может ли кто-нибудь сказать мне, почему точно такое же изображение (тот же файл ресурсов изображений, что и PNG, и то же определение XML ниже) выглядит идеально на Android 5.1 и 7.1.1 (изображение выше), но плохо на Android 4.1 (изображение ниже).

Введите описание изображения здесь

Вышеуказанное изображение кажется совершенным на: Реальное устройство Samsung 5.1 Pixel API 25 (7.1.1) эмулятор

Изображение ниже выглядит плохо на: Реальное устройство Samsung 4.3 Nexus One API 18 4.2 эмулятор

XML-код:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/myFAB"
    android:layout_width="75dp"
    android:layout_height="75dp"
    android:layout_gravity="center|bottom"
    android:layout_margin="@dimen/fab_margin"
    android:visibility="invisible"/>

Пожалуйста, совет как я могу решить эту проблему.

EDIT: изображения были сгенерированы из Android Studio "New Image Asset", и различные разрешения (hdpi, mdpi, xhdpi, xxhdpi) действительно были сгенерированы.

1 2

1 ответ:

FloatingActionButton не может принимать любую ширину / высоту. app:fabSize параметры определяют 3 размера для fab: auto, mini и normal.

Оставьте layout_width и layout_height как wrap_content, и укажите желаемый размер fab с помощью app:fabSize="normal" (или другого параметра из списка).