修复了可滚动 RelativeLayout 中的 FAB 按钮

Fixed FAB button inside a scrollable RelativeLayout

我有一个可滚动的 RelativeLayout,其中包含一些 EditText、ImageView 和其他视图元素...

<ScrollView...
    <RelativeLayout
       <TextView...
       <ImageView...
       <Button...
       ...
    </RelativeLayout>
</ScrollView>

所以现在我想在其中插入一个 FAB 按钮,这样我就可以滚动所有布局(EditText、ImageView 等),但 FAB 固定在屏幕的底部|右侧位置。我怎样才能做到这一点?提前致谢。

FAB 的代码片段

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="@dimen/fab_margin_bottom"
    android:layout_marginRight="@dimen/fab_margin_right"
    android:src="@android:drawable/icon" />

如果相对布局高度与父级匹配,这将使 FAB 稳定在底部。

你的布局应该有这样的结构:

<android.support.design.widget.CoordinatorLayout
 xmlns:app="http://schemas.android.com/apk/res-auto">

   <ScrollView
       android:id="@+id/svContent"
       .....
   </ScrollView>

   <android.support.design.widget.FloatingActionButton
       android:id="@+id/fab"
       .....
       app:layout_anchor="@id/svContent"
       app:layout_anchorGravity="bottom|right|end" />
</android.support.design.widget.CoordinatorLayout>

并注意属性 layout_anchorlayout_anchorGravity