アプリにフローティングボタンを作成しようとしています。ボタンはありますが、ボタン内の画像は少し上です(画像を参照)。
何が悪いのかわかりません。以下は、フローティングボタンの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 [〜#〜]:もう少し見て回った後、画像自体が実際には画像ではないという問題があることに気付きました中央に配置され、下側にスペースがあります(これにより、イメージが上に押し上げられます)。
私は同じ問題に直面しました。次の解決策は私のために働いた
app:fabCustomSize="40dp"
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" />
あなたの高さと幅を修正するようにしてください...
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"
最善の解決策は、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"/>
( https://github.com/futuresimple/Android-floating-action-button )を使用し、fab:fab_icon = "@ drawable/ic_fab_star"をアイコンの中央に設定します