Floating Action Button Icon not centered inside

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-09 17:16:07

问题


I'm trying to use a FAB but the icon inside is placing at bottom right of the button:

FAB with icon not centered

This is the FAB definition in the 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>

What am I doing wrong?


回答1:


This seems to be a bug in the Design Support Library v28.0.0.

I could workarround this by setting the scaleType programmatically.

In your case in the Java/Kotlin Code:

centerLocationButton.setScaleType(ImageView.ScaleType.CENTER)



回答2:


My solution is app:fabCustomSize="56dp"




回答3:


In my situation run ok this solution app:fab_icon="@drawable/btn_back_to_top_3x" enter image description here not android:src="@drawable/btn_back_to_top_3x enter image description here

And you can add android:scaleY="1.X" android:scaleX="1.X"

for additional variation




回答4:


Instead of android:src try app:srcCompat. Is FAB only thing you are using, because if it is (judging by the pic you posted), maybe you don't need RelativeLayout as a parent, you can use android:layout_gravity="bottom|end"




回答5:


After updating to SDK 28, I've got the same problem. Changing the size, scaleType, layout_gravity, etc will return the same.

My current short-term solution is using the ImageButton.




回答6:


Could you try with android:scaleType="center" as a FloatingActionButton property?




回答7:


Try

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

on the fab. Worked for me



来源:https://stackoverflow.com/questions/52635233/floating-action-button-icon-not-centered-inside

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!