Я борюсь со странным поведением маржи с FloatingActionButton в CoordinatorLayout. FAB добавляет дополнительный запас, который исчезает после определенных действий.FloatingActionButton добавляет дополнительный запас над NestedScrollView в CoordinatorLayout
Я следовал Cheesesquare пример для создания подробного представления. У меня точно такая же структура xml. Единственное различие заключается в том, что я использую этот вид для фрагмента вместо сырой активности.
Это происходит большую часть времени, но иногда это не так. Происходит только один раз для объекта фрагмента, как только он исправляет себя, он работает хорошо. На моем втором телефоне этого не происходит. После удаления FAB это нормально. Когда я изменяю sth в календаре, это также заставляет марку исправлять себя.
Прикрепление gif с включенными линиями раскладки, чтобы вы могли видеть поля.
Для справки:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content2"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:fitsSystemWindows="true"
tools:context="com.habitsteacher.android.view.fragment.show.ShowHabitFragment">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="192dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginBottom="72dp"
app:expandedTitleMarginEnd="24dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<TextView
android:id="@+id/intentionText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginBottom="16dp"
android:layout_marginEnd="24dp"
android:layout_marginLeft="48dp"
android:layout_marginRight="24dp"
android:layout_marginStart="48dp"
android:ellipsize="end"
android:fitsSystemWindows="true"
android:maxLines="2"
android:textColor="@color/icons"
android:textSize="@dimen/abc_text_size_subhead_material"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.25"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_show_habit"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:id="@+id/habit_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/background_light"
android:orientation="vertical"
android:paddingTop="32dp">
<android.support.v7.widget.CardView
android:id="@+id/calendarWrapper"
android:layout_width="match_parent"
android:layout_height="343dp"
android:layout_margin="@dimen/card_margin">
</android.support.v7.widget.CardView>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/floating_button_edit_habit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="0dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:clickable="true"
android:src="@drawable/ic_mode_edit_white_24dp"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom|right|end"/>
</android.support.design.widget.CoordinatorLayout>
Все думали, что может быть причиной, или как исследовать это глубже?
Любое понимание вопроса? Я получаю такое же поведение, когда я автоматически переключаю представления, чтобы добавить кроссфейд. – AllDayAmazing
Не совсем. Применение моего обходного пути для вашего дела, вероятно, будет перемещать эти представления для разделения действий и переключения между ними. Мне жаль, что я не знал, что для этого нужно, но я ничего не мог найти, а отладка менеджеров макетов Android - непростая задача. – damienix