web-dev-qa-db-ja.com

下部整列フローティングアクションボタン

FABの右下に揃えたい。

  1. Android:gravity="bottom|right"で試しました
  2. Android:layout_alignParentBottom="true "FABを試してみると消えます
  3. Android:layout_alignBottom="@id/lista_tiendas"FABを試してみると消えます

複雑に見えませんが、私はそれを達成できません

何か案は?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="match_parent">

<ListView
    Android:id="@+id/lista_tiendas"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_margin="5dp"
    Android:divider="@Android:color/transparent"
    Android:dividerHeight="4.0sp"/>

<Android.support.design.widget.FloatingActionButton
    Android:id="@+id/fab"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:src="@drawable/ic_add_white_48dp"
    app:backgroundTint="@color/spg_rosa"
    app:borderWidth="0dp"
    app:elevation="8dp"
    app:fabSize="normal"
    Android:layout_alignParentRight="true"
    Android:layout_alignParentBottom="@id/lista_tiendas"
     />
</RelativeLayout>
43

RelativeLayoutの場合:

<Android.support.design.widget.FloatingActionButton
    Android:id="@+id/fab"
    Android:layout_alignParentBottom="true"
    Android:layout_alignParentRight="true"
    ... />

CoordinatorLayoutには、Android:layout_gravity="end|bottom"を使用する必要があります


ConstraintLayoutの場合:

<Android.support.design.widget.FloatingActionButton
    Android:id="@+id/fab"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    ... />

詳細については、 この回答 を参照してください。

130
Anggrayudi H

レイアウトはRelativeLayoutでなければなりません。次のコードを試してください:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="match_parent">

<LinearLayout
    Android:id="@+id/ly_list_form"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:orientation="vertical">


    <ListView
        Android:id="@+id/list_forms"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:dividerHeight="1dp" />

</LinearLayout>

<LinearLayout
    Android:id="@+id/ly_bar_bottom"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:layout_alignParentBottom="true"
    Android:gravity="right"
    Android:orientation="horizontal">

    <Android.support.design.widget.FloatingActionButton
        Android:id="@+id/button_addc"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_gravity="bottom|end"
        Android:layout_margin="28dp"
        Android:src="@drawable/ic_add"
        app:borderWidth="0dp"
        app:elevation="6dp"
        app:pressedTranslationZ="12dp" />
</LinearLayout>
11
Diego

FloatingActionButtonがRelativeLayout内に正しく配置されていないようです。

RelativeLayoutをFrameLayoutに変更し、問題を解決しました!それが役に立てば幸い!

<ListView
    Android:id="@+id/mylist"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_margin="5dp"
    Android:divider="@Android:color/transparent"
    Android:dividerHeight="1.0sp" />

<Android.support.design.widget.FloatingActionButton
    Android:id="@+id/fab"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="right|bottom"
    Android:src="@drawable/ic_add_white_48dp"
    app:backgroundTint="@color/spg_rosa"
    app:borderWidth="0dp"
    app:elevation="8dp"
    app:fabSize="normal" />

</FrameLayout>
5

これを行うことでコードを機能させることができました:

<Android.support.design.widget.FloatingActionButton
    Android:id="@+id/fab"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    app:backgroundTint="#ff0000"
    app:borderWidth="0dp"
    app:elevation="8dp"
    app:fabSize="normal"
    Android:layout_alignLeft="@+id/text"
    Android:layout_above="@+id/text"/>

ただし、上記の代わりにbelow the TextViewでは機能しませんでした。バグの可能性があります。

2
26hmkk

Android.support.design.widget.CoordinatorLayoutAndroid:layout_gravity="bottom|right"を使用してみてください。

2
naamadheya

試して

Android:layout_gravity = "bottom | right"