Значок плавающей кнопки действия не центрирован внутри - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь использовать 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>

Что я делаю не так?

Ответы [ 6 ]

0 голосов
/ 27 декабря 2018

Мое решение app:fabCustomSize="56dp"

0 голосов
/ 02 ноября 2018

Попробуйте

android:width="wrap_content"
android:height="wrap_content"
app:maxImageSize ="56dp"

на фабрике.Работал на меня

0 голосов
/ 24 октября 2018

Похоже, это ошибка в библиотеке поддержки проектирования v28.0.0.

Я мог бы обойти это, программно установив scaleType.

В вашем случае в коде Java / Kotlin:

centerLocationButton.setScaleType(ImageView.ScaleType.CENTER)
0 голосов
/ 22 октября 2018

После обновления до SDK 28 у меня возникла та же проблема.Изменение размера, scaleType, layout_gravity и т. Д. Вернет то же самое.

Мое текущее краткосрочное решение использует ImageButton.

0 голосов
/ 19 октября 2018

Не могли бы вы попробовать android:scaleType="center" как свойство FloatingActionButton?

0 голосов
/ 04 октября 2018

Вместо android:src попробуйте app:srcCompat.Является ли FAB единственной вещью, которую вы используете, потому что, если это так (судя по картинке, которую вы разместили), возможно, вам не нужен RelativeLayout в качестве родителя, вы можете использовать android:layout_gravity="bottom|end"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...