web-dev-qa-db-ja.com

Android:フローティングボタンアイコンが中央にない

アプリにフローティングボタンを作成しようとしています。ボタンはありますが、ボタン内の画像は少し上です(画像を参照)。

enter image description here

何が悪いのかわかりません。以下は、フローティングボタンのXMLの一部です。

<Android.support.design.widget.FloatingActionButton
        Android:id="@+id/buttonUp"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginRight="16dp"
        Android:layout_marginTop="480dp"
        Android:clickable="true"
        Android:scaleType="center"
        Android:src="@drawable/btn_back_to_top_3x"
        app:layout_anchor="@id/layout"
        app:layout_anchorGravity="bottom|right|end"
        app:backgroundTint="@Android:color/background_light"
        app:fabSize="normal" />

ボタンは、私が望んでいた場所を示しています。唯一の問題は、内部の画像が中心ではないようです。なんでこんなことが起こっているの?

[〜#〜] edit [〜#〜]:もう少し見て回った後、画像自体が実際には画像ではないという問題があることに気付きました中央に配置され、下側にスペースがあります(これにより、イメージが上に押し上げられます)。

23
rabbit87

私は同じ問題に直面しました。次の解決策は私のために働いた

app:fabCustomSize="40dp"
61
Mehatab

FABのような正確なサイズのfabCustomSize値を設定する必要があります。

<Android.support.design.widget.FloatingActionButton
        Android:layout_width="60dp"
        Android:layout_height="60dp"
        app:fabCustomSize="60dp"
        Android:src="@drawable/plus_icon"
        app:rippleColor="@color/colorPrimaryDark" />
20
Gabriel

あなたの高さと幅を修正するようにしてください...

    Android:layout_width="50dp"
    Android:layout_height="50dp"

そして、下のレイアウトを別の方法で調整してください。

 Android:layout_marginTop="480dp" 

私の提案では、FloatingActionButtonをRelative Layout ..内に設定し、このプロパティのように設定しようとするのは適切な方法ではありません。

    Android:layout_alignParentBottom="true"
    Android:layout_alignParentRight="true"
    Android:layout_alignParentEnd="true"
0
Dileep Patel

最善の解決策は、FABの次元をハードコーディングしないことです。

アイコンは属性Android:scaleType="center"で中央揃えされます

<Android.support.design.widget.FloatingActionButton
                Android:id="@+id/search_fab"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:scaleType="center"
                Android:layout_marginEnd="10dp"
                Android:src="@drawable/fab_search_icon"
                app:backgroundTint="@color/colorPrimary"
                app:elevation="4dp"
                app:fabSize="normal"/>
0
Napolean

https://github.com/futuresimple/Android-floating-action-button )を使用し、fab:fab_icon = "@ drawable/ic_fab_star"をアイコンの中央に設定します

0
WillOliveira