#android #android-layout #android-support-library #android-coordinatorlayout #floating-action-button
#Android #android-макет #android-поддержка-библиотека #android-coordinatorlayout #плавающая кнопка действия
Вопрос:
Я использую поддержку Android FloatingActionButton
(FAB) CoordinatorLayout
и хочу привязать FAB к a CardView
.
Это мой код:
<android.support.design.widget.CoordinatorLayout
... />
<LinearLayout
...>
<android.support.v7.widget.CardView
android:id="@ id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
...
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@ id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="32dp"
android:src="@android:drawable/ic_menu_send"
app:layout_anchor="@id/container"
app:layout_anchorGravity="bottom|end" />
</android.support.design.widget.CoordinatorLayout>
Это работает, но иногда FAB отображается в левой верхней части страницы, а не привязан.
В этом случае, когда я нажимаю FAB, он возвращается на якорь. CardView
не является прямым дочерним CoordinatorLayout
элементом, но [Библиотека поддержки 24.2.1], которую я использую, позволяет это.
В чем может быть проблема?
Комментарии:
1. содержит ли линейный макет какой-либо другой вид или нет?
2. Да, LinearLayout содержит другие представления
Ответ №1:
Попробуйте удалить следующее:
app:layout_anchor="@id/container"
app:layout_anchorGravity="bottom|end"
и добавить:
android:layout_gravity="bottom|end"
Ответ №2:
Вы пытались привязать его к линейному макету, а не к CoordinatorLayout?
<android.support.design.widget.CoordinatorLayout
... />
<LinearLayout
...>
<android.support.v7.widget.CardView
android:id="@ id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
...
<android.support.design.widget.FloatingActionButton
android:id="@ id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="32dp"
android:src="@android:drawable/ic_menu_send"
app:layout_anchor="@id/container"
app:layout_anchorGravity="bottom|end" />
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
Комментарии:
1. Да, я пытался переместить FAB во многих точках, и в этом случае он исчезает.
2. Ничего не изменилось, та же проблема
Ответ №3:
Сделайте привязку LinearLayout к FAB.