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