Исправлена ​​кнопка FAB внутри прокручиваемого RelativeLayout

У меня есть прокручиваемый RelativeLayout, который содержит некоторые элементы EditText, ImageView и другие элементы View...

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

Итак, теперь я хочу вставить внутри нее кнопку FAB, чтобы можно было прокрутить весь макет (EditText, ImageView и т. Д.), Но с помощью FAB, которая зафиксирована в нижней | правой части экрана. Как я могу это сделать? Заранее спасибо.

2 ответа

Решение

Ваш макет должен иметь такую ​​структуру:

<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_anchor а также layout_anchorGravity там.

Фрагмент кода для 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 стабильным внизу, если относительная высота макета совпадает с родительской.

Другие вопросы по тегам