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

时间:2016-11-11 09:43:02

标签: android xml android-layout floating-action-button

我有一个可滚动的RelativeLayout,它包含一些EditText,ImageView和其他View元素......

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

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

2 个答案:

答案 0 :(得分:3)

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

<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

答案 1 :(得分:1)

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在底部稳定。